Java|Java基础
PHP,自动加载,原理,__autoload,教程
Java-Java基础
易语言qq邮件源码,vscode引入jq,ubuntu系统好用的导航网站,tomcat默认后台,用sqlite 查重,ppt在线预览插件,net三层前端框架,爬虫破解邮箱密码视频,html与php的嵌套,seo len paul,利用动易siteweaver制作校园网站,网页中实现返回顶部,750团购模板在线制作lzw
考勤系统网站源码,ubuntu中设置语言,怎么能判断tomcat死了,爬虫表单加密视频,中央台php代理文件,SEO卖货 代发lzw
自动加载原理
手机商城源码php,vscode怎么输入输出,刚装完ubuntu,tomcat配置资源路径,爬虫可以合法,php导出功能,怎么提高seo优化外推,php社交网站源代码,苹果8x自动适应模板lzw
自动加载的原理,就是在我们new一个class的时候,PHP系统如果找不到你这个类,就会去自动调用本文件中的__autoload($class_name)方法,我们new的这个class_name 就成为这个方法的参数。
所以我们就可以在这个方法中根据我们需要new class_name的各种判断和划分就去require对应的路径类文件,从而实现自动加载。
__autoload使用教学:
我们先一步步来,看下__autoload()的自动调用,看个例子:
index.php
$db =new DB();
如果我们不手动导入DB类,程序可能会报错,说找不到这个类:
Fatal error: Class DB not found in D:\wamp\www\testphp\autoload\index.php on line 3
那么,我们现在加入__autoload()这个方法再看看:
$db =new DB();function __autoload($className){ echo $className; exit();}
根据上面自动加载机制的描述,你分析下会输出什么? 没错:肯定是输出:DB, 也就是我们需要new 的类的类名。所以,这个时候我们就可以在__autoload()方法里,根据需要去加载类库文件了。
index.php
$db =new DB();function __autoload($className){ require $className ..php;}
DB.php
class DB{ publicfunction __construct() {echo Hello DB; }}
这样子我们就很轻松的将我们需要new 的class 全部导入了进来,这样子,我们就可以轻松的new N个class,比如:
<?phpfunction __autoload($className){ require $className ..php;}$db =new DB();$info =newInfo();$gender =newGender();$name =newName();//也是支持静态方法直接调用的Height::test();
推荐教学:PHP教学