PHP autoload行使要领及步调详解
我们知道在PHP4内里,当我们行使一个类的时辰,必需将该类以是文件行使include或require加进来,这样我们就可以行使类了。 以下代码: <?php $obj_A = new clsA(); $obj_B = new clsB(); ?> PHP4下正确写法为: <?php //PHP4 写法,之前必需加载类文件 include_once "cls/clsA.php"; include_once "cls/clsB.php"; $obj_A = new clsA(); $obj_B = new clsB(); ?> 处理赏罚加载步调为: 1,加载类文件。 2,实例化类。 PHP5下行使__autoload()(自动加载)的正确写法为: <?php // PHP5 Used __autoload function $obj_A = new clsA(); $obj_B = new clsB(); function __autoload($className){ include_once "cls/$className.php"; } ?> 处理赏罚加载步调为(行使autoload函数): 1,建设工具(伪实例) 2,挪用__autoload函数,将伪实例的类名传入 3,行使__autoload函数中,预先写好的加载法则举办加载类文件 4,实例化工具(真实实例) 因此,我们可以看出,对付PHP5的autoload函数,必需给定法则,不然一点用没有。 对付PHP5的__autoload函数的行使时必要留意或完成如下工作。 1,__autoload函数是用在类表面,而不是在类内里的函数。(__autoload也是被PHP5掩护的要害字之一) 2,完成对__autoload函数加载法则的编码。 如上,当知道A是在cls目次中,而B是在cls/cls目次中。则编写__autoload加载法则就是须要的。 <?php // PHP5 Used __autoload function $obj_A = new clsA(); // in "cls" directory! $obj_B = new clsB(); // in "cls/cls" directory! function __autoload($className){ if(strtolowwer($className) == "clsb"){ require_once "cls/cls/$className.php"; }else{ include_once "cls/$className.php"; } } ?> 总结:因此,对付PHP5的autoload来说,当加载2个以上的文件或思量到往后的扩展时或代码类型来说可以行使,对付一样平常的环境,我小我私人以为没有必 要,可是假犹如时行使多个类,加载差异的类文件,对付autoload来说就有须要,只要写入响应的加载法则即可。(我小我私人以为,该函数的提出,首要是规 范编码) (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |