2016-09-15 3 views
1

커스텀 클래스를 썼고 pimcore 어플리케이션에서 사용하고 싶습니다. 서버의 /website/lib/Custom 디렉토리로 가져 왔습니다. 이후에, 나는 디렉토리에있는 각 클래스에 대해 재귀 적 스크립트를 작성하고 해당 스크립트를 /index.php 파일에 포함시켰다.Pimcore 커스텀 클래스

절대적으로 pimcore 표준은 아니지만 작동합니다. pimcore/설정/startup.php에서

가 존재 조각 :

$autoloaderClassMapFiles = [ 
    PIMCORE_CONFIGURATION_DIRECTORY . "/autoload-classmap.php", 
    PIMCORE_CUSTOM_CONFIGURATION_DIRECTORY . "/autoload-classmap.php", 
    PIMCORE_PATH . "/config/autoload-classmap.php", 
]; 
$test = PIMCORE_ASSET_DIRECTORY; 
foreach ($autoloaderClassMapFiles as $autoloaderClassMapFile) { 
    if (file_exists($autoloaderClassMapFile)) { 
     $classMapAutoLoader = new \Pimcore\Loader\ClassMapAutoloader([$autoloaderClassMapFile]); 
     $classMapAutoLoader->register(); 
     break; 
    } 
} 

나는이 자동로드 - classmap.php에서 돌아 배열에 넣어 모든 클래스의 포함을 제공하는 것 같아요. /pimcore/config/autoload-classmap.php이 있다는 것을 염두에두면 앞서 언급 한 루프가 첫 번째 반복에서 중단되어 사용자 정의 autoload-classmap에 넣을 클래스가 프로젝트에 포함되지 않습니다.

내 질문은 파일을 /pimcore 디렉토리로 바꿀 수 있으며 시스템 업데이트 후에 모든 것이 잘 될 것이라고 예상합니까?

답변

1

아니요, 거기에있는 파일이 업데이트 메커니즘에 의해 덮어 쓰여 지므로 pimcore 디렉토리의 내용을 덮어 쓰면 안됩니다.

당신은 덮어 쓰기되지 않습니다 /website/config/startup.php 사용하여 당신이 원하는 것을 할 수 있습니다 https://www.pimcore.org/wiki/display/PIMCORE4/Hook+into+the+startup-process

을하지만를 대신 당신이 그랬던 것처럼하여 자동 로더를 활용, 모든 클래스를 로딩 /website/config/startup.php이 추가 : 제대로 네임 스페이스를 사용하는 경우

// The first line is not absolutely necessary, since the $autoloader variable already gets 
// set in the /pimcore/config/startup.php, but it is a more future-proof option 
$autoloader = \Zend_Loader_Autoloader::getInstance(); 
$autoloader->registerNamespace('Custom'); 

및 파일 이름을 지정 올바르게 그게 당신이 할 필요합니다.