>백엔드 개발 >PHP 튜토리얼 >정의되지 않은 클래스를 자동으로 로드하려면 PHP에서 __autoload()를 사용하세요.

정의되지 않은 클래스를 자동으로 로드하려면 PHP에서 __autoload()를 사용하세요.

WBOY
WBOY원래의
2016-07-25 09:05:451118검색
  1. /**
  2. * 自动加载相关类库文件
  3. */
  4. function __autoload($classname){
  5. if(substr($classname,-6)=="Action"){
  6. include APP_PATH.'controllers/'.$classname.'.class.php';
  7. }elseif(substr($classname, -5)=="Model"){
  8. include APP_PATH.'models/'.$classname.'.class.php';
  9. }elseif($classname=="Smarty"){
  10. include SYSTEM_PATH.'smarty/Smarty.class.php';
  11. }else{
  12. include APP_PATH.'common/'.$classname.'.class.php';
  13. }
  14. }
  15. ?>
复制代码

另一种包含路径的方法:

  1. function __autoload($class_name) {
  2. $path = str_replace('_', DIRECTORY_SEPARATOR, $class_name);
  3. require_once $path.'.php';
  4. }
  5. ?>
复制代码

说明:将下划线转换为目录分隔符(DIRECTORY_SEPARATOR),这样做即可以有效管理库文件,又解决了跨平台的问题。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.