7.02. 익명 함수 사용하기
익명함수는 한번만 사용할 일회성 함수로 이름이 없는 함수라는 뜻이다. 익명함수를 만들고 사용하는 방법을 알아본다.
- PHP 3분 핵심 요약집
- · 2024. 5. 16.
기능을 단위(unit) 별로 코드를 이용해서 테스트하는 유닛테스트에 대해 알아본다. 유닛테스트에는 phpunit 이 필요하므로 https://phar.phpunit.de/phpunit.phar 파일을 다운로드해서 테스트할 디렉토리에 복사한다. 테스트 대상 코드를 작성한다.
현대의 개발은 대부분 모든 걸 직접 만드는 것이 아니라 타인이 만들어놓은 라이브러리를 가져다 쓰면서 작업하게 된다. 이를 수월하게 만들어주는 의존성 라이브러리 관리자인 컴포저를 사용해본다. 컴포저는 php에서 사용하는 의존성 관리 라이브러리이다. 필요한 라이브러리와 버전을 기술해 놓으면 명시한 라이브러리 뿐만 아니라 라이브러리가 필요로하는 다른 라이브러리까지 찾아서 한번에 설치해 준다. 윈도우 버전 컴포저는 설치 배포판이 있지만 다운로드해서 설치해보면 오류가 나는 경우가 잦다. 따라서 직접 커맨드 쉘에서 다운로드하는 편이 정신건강에 이롭다. 커맨드가 복잡하므로 https://getcomposer.org/download/ 에서 복사해서 사용하는 것이 편하다. 터미널에서 실행한다. 한 줄씩 실행해야 한다. ..
오토로드는 클래스가 호출될 때 자동으로 특정 파일을 불러오고 실행하는 PHP 특유의 기능이다. 오토로드가 필요한 이유는 PHP는 다른 언어와 달리 "진입점"이라는 개념이 존재하지 않기 때문이다. PHP는 전통적으로 웹서버에 의해 물리적인 위치에 있는 파일이 직접 호출되어 실행되는 형태였다. 즉, 어플리케이션의 진입점이 각 파일마다 있었던 것이다. 이러한 특성은 이해 및 구현이 쉽다는 장점이 있었으나, 반대로 디렉토리의 관리에 어려움을 겪는 일도 다반사였다. 다른 언어는 명시적인 진입점이 있으므로 진입점을 기준으로 다른 파일들을 참조하면 되는데, PHP는 이게 불가능하므로 현재 파일을 기준으로 다른 파일을 불러오거나 DOCUMENT_ROOT를 기준으로 불러오는 방법밖에 없었다. 게다가 참조하는 모든 파일들..
이름 공간을 분리해서 스코프를 분리하는 네임스페이스에 대해 알아본다. 네임스페이스는 이름 공간을 분리해서 같은 함수 이름이나 변수 이름, 클래스를 분리할 수 있다. 이러한 특성은 여러 벤더들이 여러 기능을 만들 때 이름 충돌을 걱정하지 않게 만든다. PHP의 함수는 한번 실행되면 전역으로 설정되기 때문에 예전에는 고유의 접두어를 붙여서 어색한 함수 이름이 되던 것을 방지할 수 있게 되었다. 또한 다음 장에서 나올 오토로드의 근간이 되는 기능이다.
객체지향 프로그래밍의 클래스와 인스턴스, 정적 메소드에 대해 알아본다. class Sample { // member variable private $name; private $age; // constructor public function __construct() { $this->name = "yse"; $this->age = "10"; } // method public function tell() { echo "my name is {$this->name} ."; echo " and my age is {$this->age} ."; } // method. return $this public function add_age($age) { $this->age += $age; return $this; } // s..
익명함수는 한번만 사용할 일회성 함수로 이름이 없는 함수라는 뜻이다. 익명함수를 만들고 사용하는 방법을 알아본다.