// 참조내용을 정리만 한단계이고 테스트는 해보지 않았기때문에 불확실한 정보임..
오토로드란?
클래스가 호출될때 자동으로 특정파일을 불러오는 PHP의 기능
PHP7이상부터 본격적으로 도입됨
require / include 를 사용하지 않고 자동으로 불러오고 싶을때 사용
클래스만 동작함
파일이 사용될때 require / include 되므로 lazy loading이 구현되고 성능에 좋음
PHP5.0버전 이후는 __autoload -> spl_autoload_register() 를 사용하도록 권장
spl_autoload_register()는 PHP 내부 동작을 가로채는 함수이다
composer에 정의된 패키지를 오토로딩함
// 클래스 자동호출을 사용할 파일에 아래의 내용을 붙여넣는다
spl_autoload_register(function ($class) {
include "$class.php";
});
20230516 추가내용
composer의 설치 설명처럼아래 코드를 메인 php파일에 추가하므로써 autoload를 사용한다
require 'vendor/autoload.php';
autoload를 사용하면 composer의 설치된 라이브러리를 모두 require한다.
그러면 이 후 다른 파일에서 composer의 라이브러리를 require할 필요가 없고
그대로 함수명() ,클래스명 으로 사용가능하다.. 경로에 따라서 use를 사용할수있겠지만
Composer의 라이브러리 Monolog를 참고 (laravel의 부속 라이브러리로 설치되어있음)
참조
https://wikidocs.net/116970
https://blog.naver.com/songxue7777/221256210660
Feb 25, 2023
Views 80