PHP语言:spl函数自动加载类
小标 2018-07-26 来源 : 阅读 971 评论 0

摘要:本文主要向大家介绍了PHP语言:spl函数自动加载类,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

本文主要向大家介绍了PHP语言:spl函数自动加载类,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。

流程

 

三种方法

定义加载的类文件后缀及目录 spl_autoload_extensions

/**

* autoload.php

*///设置autoload寻找php定义的类文件的扩展名,多个扩展名用逗号分隔,前面的扩展名优先匹配

spl_autoload_extensions('.class.php,.php');//设置autoload寻找PHP定义的类文件的目录,多个目录用PATH_SEPARATOR进行分隔 win是; linux是:

set_include_path(get_include_path().PATH_SEPARATOR.'libs/');//提示PHP使用autoload机制查找类定义

spl_autoload_register();new Test();

重写--autoload

直接实现__autoload默认会自动执行

function __autoload($class_name){

    //定义autoload函数,可以在不调用spl_autoload_register函数的情况下完成类的装载

    echo '__autoload class :'.$class_name.PHP_EOL;

    require_once 'libs/'.$class_name.'.php';//装载类

}

new Test();

spl_autoload_register(自定义方法)

function __autoload($class_name){

    //定义autoload函数,可以在不调用spl_autoload_register函数的情况下完成类的装载

    echo '__autoload class :'.$class_name.PHP_EOL;

    require_once 'libs/'.$class_name.'.php';//装载类

}//定义一个替换__autoload函数的类文件装载函数function classLoader($class_name){

    echo 'classloader() load class : '.$class_name.PHP_EOL;

    require_once 'libs/'.$class_name.'.php';//装载类

}//传入定义好的装载类的函数的名称替换__autoload函数

spl_autoload_register('classLoader');

new Test();

不用require_once 可以用spl_autoload来代替

//定义一个替换__autoload函数的类文件装载函数function classLoader($class_name){

    echo 'classloader() load class : '.$class_name.PHP_EOL;

 

    //当我们不用require_once或require载入类文件的时候,而想通过系统查找include_path来装载类时,必须显式调用spl_autoload函数,参数是类的名称来重启类文件的自动查找(装载)

    set_include_path('libs/');

    spl_autoload($class_name);

}//传入定义好的装载类的函数的名称替换__autoload函数

spl_autoload_register('classLoader');

new Test();

以上就介绍了PHP的相关知识,希望对PHP有兴趣的朋友有所帮助。了解更多内容,请关注职坐标编程语言PHP频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程