码迷,mamicode.com
首页 > Web开发 > 详细

php+namespace+autoload机制

时间:2015-04-02 20:23:29      阅读:129      评论:0      收藏:0      [点我收藏+]

标签:

namespace 主要作用,防止类名相同导致的加载问题。

 

__autoload() 魔术方法:

  可以实现 “延迟加载”或者“用时加载”,即只有需要这个类时,才会加载进内存中,避免资源浪费。

 

当php引擎第一次使用类A,但是找不到时,会自动调用__autoload方法,并将类名“A”作 为参数传入。所以,我们需要的做的就是根据类名,找到对应的文件,并包含进来,如果我们的方法也找不到,那么php引擎就会报错。注意,这里可以只用 require,因为一旦包含进来后,php引擎再遇到类A时,将不会调用__autoload,而是直接使用内存中的类A,不会导致多次包含。

所以,使用__autoload的关键在于,如何根据类名,找到对应类定义的文件。

 

Yii框架下 设置默认自动加载函数

spl_autoload_register 注册myautoload函数为 __autoload()函数。

spl_autoload_register(array(‘YiiBase‘,‘myautoload‘));

 

相关链接:

  http://www.cnblogs.com/yjf512/archive/2013/05/14/3077285.html  //讲namespace

  http://www.cnblogs.com/bourneli/archive/2012/09/08/2676965.html  //good 讲autoload

  http://blog.csdn.net/zhaozhi406/article/details/9325581 //Yii中autoload机制

  http://www.eeice.com/archive/design/spl_autoload_register.html  //Yii中autoload机制

php+namespace+autoload机制

标签:

原文地址:http://www.cnblogs.com/zhongyuan/p/4387735.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!