首页 > 作文

PHP中spl

更新时间:2023-04-06 22:42:56 阅读: 评论:0

关于spl_autoload_register()和__autoload(),相信大多数都会选择前者了? 看两者的用法:

复制代码 代码如下:

//__autoload用法

function __autoload($classname)

{

$filename = “./class/”.$classname.”.class.php”;

if (is_file($filename))

南宁人民公园 {

incl英语副词是什么意思ude $filename;

}

}

//s 詹天佑 读后感pl_autoload_register用法

spl_autoload_register(‘load_class’);

function load_class($classname)

{

$filename = “./class/”.$classname.”.class.php”;

if (is_file($filename))

{

include $filename;

}

}

使用spl_autoload_register()的好处是不可言喻的:
(1)自动加载对象更加方便,很多框架都是这样做的:

复制代码 代码如下:

class classautoloader {

public function __construct() {

spl_autoload_register(array($this, ‘loader’));

}

private function loader($classname) {

echo ‘trying to load ‘, $classname, ‘ via ‘, __method__, “()\n”;

include $classname . ‘.php’;

}

}

$autoloader = new classautoloader();

$obj = new class1();

$obj = new class2();

(2)你要知道__autoload()函数只能存在一次啊,spl_autoload_register()当然能注册多个函数

复制代码 代码如下:

function a () {

include ‘a.php’;

}

function b () {

include ‘b.php’;

}

spl_autoload_register(‘a’);

spl_autoload_register(‘b’);

(3)spl函数很丰富,提供了更多功能,如spl_脂肪的功能autoload_unregister军校毕业生待遇()注销已经注册的函数、spl_autoload_functions()返回所有已经注册的函数等。

详见php参考手册:关于spl函数列表.

注意:

如果在你的程序中已经实现了__autoload函数,它必须显式注册到__autoload栈中。因为
spl_autoload_register()函数会将zend engine中的__autoload函数取代为spl_autoload() 或 spl_autoload_call()

复制代码 代码如下:

/**

*__autoload 方法在 spl_autoload_register 后会失效,因为 autoload_func 函数指针已指向 spl_autoload 方法

* 可以通过下面的方法来把 _autoload 方法加入 autoload_functions list

*/

spl_autoload_register( ‘__autoload’ );

本文发布于:2023-04-06 22:42:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/0f489497c118467686ddcd6bc283c8bc.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:PHP中spl.doc

本文 PDF 下载地址:PHP中spl.pdf

标签:函数   代码   方法   都是
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图