php自动加载演变

网友投稿 517 2022-11-14

php自动加载演变

php自动加载演变

1.一开始我们调用不同页面的类里面的方法

//test.phprequire_once 'test1.php';require_once 'test2.php';Test1\ceshi(); //调用方式 命名空间\函数名Test2\ceshi(); //调用方式 命名空间\函数名

namespace Test1;function ceshi(){ echo __FILE__; //文件的完整路径和文件名 例如 D:\sfc\ceshi\mooc\test1.php

namespace Test2;function ceshi(){ echo __FILE__; //文件的完整路径和文件名 例如 D:\sfc\ceshi\mooc\test2.php}

2.试想每一个文件都手动引入也太麻烦了,要是能用那个就引入就好了,有的有的,有个函数 function  __autoload(){ } 就可以实现

//解决方案就是自定义自动加载函数,使用spl_autoload_register注册自动加载函数spl_autoload_register('autoload2');Test\test1::ceshi();//调用静态方法格式-->命名空间名\类名::静态方法名Test\Test2::ceshi();function autoload2($class){//定义引入文件函数 //echo $class ===> Test\test1 list($namespace,$fileName) = explode('\\',$class); require __DIR__.'\\'.$fileName.'.php';}

echo '
'; } }

1 namespace Test;2 class test2{3 public static function ceshi(){4 echo __METHOD__; //返回类的名字和方法的名字5 echo '
';6 }7

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:redis消息订阅
下一篇:prototype
相关文章

 发表评论

暂时没有评论,来抢沙发吧~