类的自动加载

这些内容是从慕课网上看到的,讲了3中类的自动加载方法,试了一下,没毛病。具体见下面代码

<?php
//方法1
/* //注意,不要在controller前面加/
//设置寻找的类型建的扩展名,多个扩展名使用;分割,同时找到不同后缀的同名文件 时,前者优先
/*spl_autoload_extensions('.php, .class.php'); // 设置寻找类文件的路径,多个路径的分割符PATH_SEPARATOR
set_include_path(get_include_path().PATH_SEPARATOR.'controller/'); //使用autoload机制查找类定义

spl_autoload_register('fname');
function fname($className){
///方法2
if (file_exists($classFile)) {
require_once($classFile);
} else {
throw new Exception('No such class file exists');
}
/
//方法3
set_include_path('controller/');
// 当我们不用require或者require_once载入类的时候,而想通过系统查找include_path来装载类时,必须显示调用spl_autoload函数,参数的类的名称来重启类文件的自动查找或者装载
spl_autoload($className);
}

try{
$test = new Test();
$bar = new Bar();
} catch(Exception $e){
echo $e->getMessage();
}

}

//在同级目录下建一个文件夹 controller/Test.php

<?php

class Test{

function __construct(){

  echo 'I am controller Test';

}

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 当两个 class 类分别对应两个脚本文件的时候,双方都不能在自己的文件中随意的调用另一个类,需要通过 inclu...
    57fc17b7d598阅读 556评论 0 0
  • 在PHP开发过程中,如果希望从外部引入一个class,通常会使用include和require方法,去把定义这...
    四月不见阅读 1,099评论 0 0
  • 使用 spl_autoload_register() 函数实现类的自动加载 一个文件中,往往需要使用多个别的类。这...
    xiaojianxu阅读 537评论 0 0
  • 类的自动加载是指,在外面的页面中,并不需要去“引入”类文件,但是程序会在需要的时候动态加载需要的类文件。 方法1:...
    kangyiii阅读 596评论 0 2
  • 考试终于完毕了也没什么轻松解脱感,或许吧,很早之前就不把自己当做学生来看了,但在其他人看来自己再怎么样都只是一个学...
    迦南君阅读 287评论 0 1