새로운 프로젝트를 시작했습니다. 여기서는 Composer을 사용하여 일부 종속성을 처리하고 자동로드를 처리합니다.작곡가 자동 로더로 맞춤 코드 관리가 가능합니까?
저는 전체 공급 업체 디렉토리 대신 VCS에 composer.json 파일 만 보관하므로 여기에 코드를 추가하고 싶지 않습니다.
자동으로로드되도록 프로젝트 고유 코드를 어떻게 처리해야합니까?
새로운 프로젝트를 시작했습니다. 여기서는 Composer을 사용하여 일부 종속성을 처리하고 자동로드를 처리합니다.작곡가 자동 로더로 맞춤 코드 관리가 가능합니까?
저는 전체 공급 업체 디렉토리 대신 VCS에 composer.json 파일 만 보관하므로 여기에 코드를 추가하고 싶지 않습니다.
자동으로로드되도록 프로젝트 고유 코드를 어떻게 처리해야합니까?
이것은 실제로 매우 간단합니다. 리포지토리에서 공급 업체 디렉토리를 제외하는 것이 올바른 방법입니다. 코드는 별도의 장소 (예 : src)에 저장해야합니다.
그 작곡가가 네임 스페이스 (들) 인식 확인하기 위해 autoload 속성을 사용 : 당신은 PSR-4 표준을 다음과 같은 클래스 이름을 가지고 가정{
"autoload": {
"psr-4": {
"Acme\\": "src/"
}
}
}
을, 그것을 작동합니다. 일부 클래스 이름의 예와 파일 시스템에 자신의 위치 아래 :
각 클래스에 대한 네임 스페이스를 정의해야합니다. 여기에 한국 전기 \ 명령 \ HelloCommand의 예
<?php
namespace Acme\Command;
class HelloCommand
{
}
당신의 PHP 컨트롤러에 오토로더를 포함하는 것을 잊지 마십시오
<?php
require 'vendor/autoload.php';
더
PSR-4 standard on PHP Framework Interoperability Group에 읽기.
composer.json
을 편집하는 경우, 오토로더 클래스 경로를 새로 고치려면 install, update 또는 dump-autoload을 실행해야합니다.
혹시라도 더미 클래스 또는 두 개의 간단한 코드 예제로 답변을 게시 할 수 있으십니까? 내가 링크 한 문서를 읽었고 내 디렉토리/네임 스페이스를 벤더 /에서 사용 된 것과 비교해도 클래스를로드 할 수 없습니다. – Letharion
@Letharion이 내 대답을 업데이트했습니다. 잘하면이 도움이 될 것입니다. –