서문 라라벨은 PHP 에서 가장 인기있는 프레임워크다. 내 블로그를 보던 사람이라면, 갑자기 웬 라라벨인가 싶겠지만, 최근 Go 를 하면서 손을 놓았던 라라벨을 모종의 이유로 다시금 딥 다이브(Deep Dive) 해야 할 상황이 생겼기에 기존에 어느정도 알고는 있었지만, 처음부터 시작하는 마음으로 블로그에도 글을 작성해보기로 했다. 설치부터 시작해서 라라벨의 요소들을 간단히 살펴보겠지만, 공식문서보다는 쉽게 설명할 것이다. 물론 라라벨에 대한 내용은 다른 블로그나 플랫폼에도 많긴하다만 내 방식대로 글을 구성해보기로 하였다. 라라벨 8.x, Composer 2.x 를 기준으로 한다. 설치하기 자, 이제 라라벨을 설치하는 것부터 시작해보자. 라라벨을 설치하기 위해서는 Composer 가 필수다. Compos..
PHP 해당 포스팅은 PHP 카테고리의 목차를 정리하기 위해 작성되었습니다. 물론 카테고리에서 볼 수 있겠지만, 주제별로 나눠 놓으면 조금 더 좋을 것 같았습니다. PHP를 사랑하는 개발자로서 PHP 7+ 로 구성된 PHP 공식 매뉴얼은 내용이 썩 알차지 못하기 때문에 글을 작성하게 되었습니다. 기본 매뉴얼이 영문인 것도 어렵게 하지만, 한글버전이 정상적으로 갱신이 되어있지 않습니다. 이 글은 현재 PHP 7.4 를 기준으로 합니다. 5년 만에 찾아 온―, PHP 8 PHP: PHP 8 기능 정리 및 요약 PHP: PHP 8 기능 정리 및 요약 PHP 8 2015년 php7 이 등장한 이후 5년만에 php8 이 시동을 걸었다. 아직 베타 버전이지만, 2020년 11월 26일에 정식으로 8.0 버전이 릴리..
Declare declare 는 언어구조이며 특정 지시어를 코드 블록에서 실행하기 위해 사용한다. 이 기능은 나도 거의 사용한 적 없지만, 가끔 본적이 있어서 적어보기로 했다. 기본적으로 지원하는 지시어는 총 세가지이며, ticks, encoding, strict_types 정도가 있다. 여기서 제일 중요도가 높다고 여겨지는 것은 아무래도 strict_types 지시어라고 볼 수 있는데, 이것을 사용하면 코드가 조금 더 단단해지기 때문이다. ticks PHP 코드 분석기가 코드를 해석할 때 로우 레벨에서 틱을 발생시킬 수 있는 구문에 대해 이벤트를 발생시키는데, 그것이 tick 이라고 볼 수 있다. 틱은 시스템 명령어가 아니라 실제 코드 상의 명령어에 따라 발생하므로 실제 코드에서 명령이 얼마나 일어날지..
이번 시간에는 기존의 포스팅과는 깊이에서 차이가 있다. PHP 를 문법을 넘어 그 너머 살펴보고 코드가 해석되고 실행되는 과정을 살펴본다. 이를 고차원의 관점에서 볼 것이며 그러한 과정이 어떻게 구현되었지까지는 들어가지 않는다. 하지만, PHP 를 사용하는 개발자라면 알아두어야 할 사항을 살펴보도록 하자. 이 부분은 꽤나 중요한 부분이다. 고수준의 언어를 기계어로 바꾸기 가장 기본적인 부분부터 시작해보자. 일반적으로 우리가 사용하는 언어, 한국어, 영어와 같은 고수준의 언어를 컴퓨터는 바로 이해하지 못한다. 따라서 우리는 컴퓨터가 알아먹을 수 있는 기계어로 바꿔야 하는데, 그러한 기계어로 바꿔주기한 해석기로는 컴파일러와 인터프리터가 있다. 컴파일러 C, C++, Go, Rust 와 같은 언어는 컴파일러를..
PHP for Windows 여기서 유독 PHP for Windows 버전에서는 Thread Safe, Non Thread Safe 로 나뉘는데 두 개는 어떠한 차이가 있는지 잠깐 살펴보기로 하자. 스레드는 프로세스 내부에서 동작하는 개별 로직이라고 생각하자. 사실 이건 PHP for Windows 의 사이드에서 친절하게 일부 설명이 들어있다. NTS(Non Thread Safe) PHP 는 기본적으로 멀티 프로세스 방식으로 처리하는데, PHP 를 CGI 방식으로 사용하게되면 요청마다 프로세스를 생성하는 방식을 취하게 된다. FastCGI 를 사용하면 PHP-FPM(PHP FastCGI Process Menager)가 어련히 알아서 요청을 처리해주므로 괜찮긴 하지만. 이 버전을 사용할 때는 싱글 스레드 ..