모든 클래스는 자동으로 당신이 코드 규칙을 따르는 등의 자동로드 기능에 등록되어 있습니다. 당신이 ClassX을 만들려면 다음 파일 이름이어야합니다 :
/your_extension/Classes/ClassX.php에게 확장자 이름도 UpperCamelCase에 켜지는지
<?php
namespace YourName\YourExtension;
class ClassX {
}
참고. 벤더 부분 (예제에서 YourName)에 대해 PHP에서 유효한 모든 것을 선택할 수 있습니다.
지금 당신은
$test = new \YourName\YourExtension\ClassX();
귀하의 확장은 분명히 일을 설치해야합니다 당신 클래스에 액세스 할 수 있습니다.
!!! Typo3는 확장 기능을 설치/제거 할 때만 자동로드 캐시를 생성합니다. 당신이 이미 설치된 확장에 새 파일을 추가 할 경우 수동
/typo3temp/autoload/autoload_classmap.php
가 일치에게 당신의 확장에
ext_autoload.php
을 만들 수있는 기본 명명을하지 않는다 클래스의 자동 로딩을 configurate하기 위해이 캐시 파일을 삭제해야합니다. 코드처럼 보이는 내부의
<?php
return array(
'Tx_SomeExtension_Someclass' => \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('some_extension') . 'pi1/someclass.php',
);
당신이 TYPO3 7.x의에 대한 개발하는 경우, 오래된 만 성능이 단점을 많이 제공 호환성 확장 지원됩니다 pibased 명심하십시오. 더 이상 pibased 확장을 사용하지 않는 것이 좋습니다.
정말 도움이되었습니다. 하지만 약간 혼란 스럽다. 오토로드 기능을 내 확장 기능의 ext_emconf.php 파일에 쓰는 방법에 대해 혼란 스럽다. 튜토리얼에서 'autoload'=> 배열 ( 'classmap'=> 배열 ('Classes') )을 사용하면 자동로드 기능이이 형식으로 작성되어야합니다.하지만이 클래스 맵은 무엇입니까? 그것은 내 classname, ClassX입니까 ?? – Ques
내 확장 프로그램은 pibase에있는 세 개의 다른 확장 프로그램에 종속되어 있습니다. 그래서 내 임무는 이것들에 새로운 클래스를 개발하고 이러한 클래스를 extbase에있는 내 확장으로 호출해야합니다. 저 좀 도와 주 시겠어요 ? – Ques
autoload 파일의 예제로 내 게시물을 업데이트했습니다. –