캐나다에서 코딩일을 시작한지 어느 10여년이 지났는데,
메인으로 만진 언어는 백엔드로는 PHP이다.
한국에서는 어떤언어를 많이 사용하는지는 잘 모르겠지만,
캐나다에선 물론 최근에는 많이 달라지는 추세지만, 백엔드로 PHP를 여전히 많이 사용한다.
그렇다면 PHP에 대해 조금더 자세히 알아보자.
PHP - Php: Hypertext Preprocessor란
PHP는 웹 개발에 주로 사용되는 서버 측 스크립트 언어로,
"Php: Hypertext Preprocessor"의 약어 이다.
PHP는 동적 웹 페이지 생성, 데이터베이스 연동, 서버 측 데이터 처리 등에 이용된다.
PHP는 HTML 코드 내에 삽입하여 사용할 수 있으며,
서버에서 PHP 스크립트를 실행하면 PHP 엔진이 해당 코드를 해석하여 동적인 웹 페이지를 생성하며,
또한, PHP는 데이터베이스와의 연동을 지원하여, 데이터의 조회, 삽입, 수정, 삭제 등을 수행할 수 있다.
PHP는 자유롭게 다운로드하고 사용할 수 있는 오픈소스 언어로,
다양한 운영 체제에서 지원되며, 또한, PHP는 다양한 프레임워크와 라이브러리가 개발되어 있어,
보다 쉽고 빠르게 웹 개발을 할 수 있다.
PHP는 현재까지도 많은 웹 사이트에서 사용되고 있으며,
대표적인 예로는 Facebook, Wikipedia, WordPress 등이 있다.
PHP 8.2는 PHP 언어의 최신 버전으로, 몇 가지 새로운 기능과 개선 사항이 포함되어 있다.
2023년 4월 1일 기준 PHP 8.2.4
PHP 8.2의 새로운 점
- Named Parameters Named Parameters
기능은 함수 호출 시 인자 이름을 명시하여 보다 가독성 있고 유지보수가 용이한 코드 작성을 가능하게 한다.
// -- Named Parameters Named Parameters --
// PHP 8.2 이전 버전
function calculate($x, $y, $z) {
return $x * $y + $z;
}
$result = calculate(2, 3, 4); // 10
// PHP 8.2 이후 버전
function calculate($x, $y, $z) {
return $x * $y + $z;
}
$result = calculate(x: 2, y: 3, z: 4); // 10
- Union Types
Union Types는 변수 또는 함수의 매개변수가 여러 개의 타입 중 하나일 수 있도록 지원하며, 코드의 유연성을 높여준다.
// -- Union Types --
// PHP 8.2 이전 버전
function multiply($x, $y) {
return $x * $y;
}
$result = multiply(2, 3); // 6
$result = multiply('2', '3'); // '23'
// PHP 8.2 이후 버전
function multiply(int|float $x, int|float $y): int|float {
return $x * $y;
}
$result = multiply(2, 3); // 6
$result = multiply(2.5, 3); // 7.5
$result = multiply('2', '3'); // TypeError: Unsupported operand types
- Readonly Properties
Readonly Properties 기능은 객체의 속성 값을 읽기 전용으로 만들어 값을 변경하지 못하도록 한다.
// -- Readonly Properties --
class Rectangle {
public $width;
public $height;
}
$rect = new Rectangle;
$rect->width = 10;
$rect->height = 20;
// PHP 8.2 이후 버전
class Rectangle {
public readonly int $width;
public readonly int $height;
public function __construct(int $w, int $h) {
$this->width = $w;
$this->height = $h;
}
}
$rect = new Rectangle(10, 20);
$rect->width = 30; // Fatal error: Cannot modify readonly property
- New String Functions
새로 추가된 문자열 함수에는 str_contains(), str_starts_with(), str_ends_with() 등이 있. - Error Handling Improvement
PHP 8.2에서는 에러 처리에 대한 개선이 이루어졌으며, 새로운 함수 및 예외 처리 방식이 도입되었으며, 개발자가 더욱 쉽게 에러 처리를 할 수 있도록 지원한다. - Improved Performance
PHP 8.2는 성능 향상을 위한 최적화가 이루어졌다. 특히 JIT 컴파일러의 최적화가 개선되어 코드 실행 속도가 빨라졌다.
이러한 새로운 기능과 개선 사항을 통해 PHP 8.2는 보다 효율적이고 생산적인 웹 개발을 가능하게 한다.
'잡인터뷰' 카테고리의 다른 글
AWS vs GCP - 아마존 웹서비스 vs 구글 클라우드 플랫폼 (0) | 2023.04.10 |
---|---|
MVC Framework는 무엇인가? (0) | 2023.04.05 |
DevOps는 무엇이며, 무슨 일을 하는 가? (0) | 2023.03.31 |
React/ReactJS의 매력 (0) | 2023.03.30 |
서비스형 데이터 - DaaS는 무엇인가? (2) | 2023.03.27 |