자동 로딩
composer를 사용하여 PSR-0 규격의 파일 로드하기
webman은 PSR-4
자동 로딩 규격을 따릅니다. 비즈니스에서 PSR-0
규격의 코드베이스를 로드해야 하는 경우, 아래의 작업을 참고하십시오.
extend
디렉토리를 새로 만들어PSR-0
규격의 코드베이스를 저장합니다.composer.json
을 편집하여autoload
아래에 다음 내용을 추가합니다.
"psr-0" : {
"": "extend/"
}
최종 결과는 다음과 비슷합니다.
composer dumpautoload
명령어를 실행합니다.php start.php restart
명령어를 실행하여 webman을 재시작합니다 (주의: 반드시 재시작해야 적용됩니다).
composer를 사용하여 특정 파일 로드하기
-
composer.json
을 편집하여autoload.files
아래에 로드할 파일을 추가합니다."files": [ "./support/helpers.php", "./app/helpers.php" ]
-
composer dumpautoload
명령어를 실행합니다. -
php start.php restart
명령어를 실행하여 webman을 재시작합니다 (주의: 반드시 재시작해야 적용됩니다).
팁
composer.json의autoload.files
에 설정된 파일은 webman이 시작되기 전에 로드됩니다. 그러나 프레임워크의config/autoload.php
에서 로드된 파일은 webman이 시작된 후에 로드됩니다.
composer.json의autoload.files
에서 로드된 파일이 변경된 경우, 반드시 restart해야 적용됩니다. reload는 적용되지 않습니다. 프레임워크의config/autoload.php
에서 로드된 파일은 핫 로딩을 지원하므로, 변경 후 reload하면 적용됩니다.
프레임워크를 사용하여 특정 파일 로드하기
일부 파일은 SPR 규격에 맞지 않아 자동 로드가 불가능할 수 있습니다. 이 경우 config/autoload.php
를 통해 이러한 파일을 로드할 수 있습니다. 예를 들어:
return [
'files' => [
base_path() . '/app/functions.php',
base_path() . '/support/Request.php',
base_path() . '/support/Response.php',
]
];
팁
autoload.php
에서support/Request.php
와support/Response.php
두 파일을 로드하도록 설정한 이유는,vendor/workerman/webman-framework/src/support/
경로에도 동일한 두 파일이 있기 때문입니다. 우리는autoload.php
를 통해 프로젝트 루트 디렉토리의support/Request.php
와support/Response.php
를 우선 로드하도록 설정하여 이 두 파일의 내용을 사용자 정의할 수 있지만,vendor
의 파일을 수정할 필요는 없습니다. 만약 이 파일들을 사용자 정의할 필요가 없다면, 이 두 설정을 무시할 수 있습니다.