좋습니다. 매우 간단하고 작은 프로젝트에서는 그에 따라 이름이 지정된 파일에 클래스가 정의되어있는 것이 일반적입니다. 예를 들어이 자동로드 기능이 작동 할 수 있도록 : 프로젝트가 커짐에젠드 프레임 워크와 같은 클래스를 구성하는이 디렉토리 구조에는 이름이 있습니까?
function __autoload($class_name) {
require_once $class_name . '.php';
}
하지만 때 진짜 엉망이 될 수 있으며, 이름은 오해와 혼동 될 수 있습니다. 이 문제를 해결하기 위해 많은 접근법을 보았습니다.
일부 회사는 모든 클래스에 접두어를 붙입니다. "class.MyClass.php"와 같이 한 수준에서 혼란을 정리하십시오.
일부는 디렉토리에서 구성합니다. 그러나 경로를 포함 시키려면 애플리케이션을 모두 추가해야하며 애플리케이션을 느리게하거나 사용하기 전에 변경해야합니다. 코드가 복잡하고 이상해 질 수 있습니다.
PHP는 버전 5.3부터 네임 스페이스를 도입했는데, 아직 기능에 대해서는 잘 모르겠습니다.
function __autoload($className){
require_once str_replace('_','/',$className).'.php';
}
이 사소한 자동 로더가 이미 개념을 표현 : 나는 더 자주 나는 생각 하는 더 보았다 표준 때문에 젠드 프레임 워크의 인기를 얻었다 그러나
는 다음과 같습니다.클래스 이름 앞에는 구분 기호로 밑줄이있는 경로가옵니다.
예를 들어 "서비스"구성 요소는 다양한 서비스 공급자에게 api를 보유합니다.
Zend/Service/Amazon.php
은 클래스 Zend_Service_Amazon
을 보유합니다.
Amaozn s3에 대한보다 전문화 된 API는 Zend_Service_Amazon_S3
클래스 인 Zend/Service/Amazon/S3.php
에 있습니다.
이 개념은 유지하기가 매우 쉽고 매우 직관적이며 지금까지는 매우 일반적이라고 생각하며 대부분의 요구에 적용 할 수 있습니다.
그러나 어떻게 호출됩니다. 이름이 있습니까?