第十二节--类的自动加载 -- Classes and Objects in PHP5 [12](转)
2008-01-10 14:36
501 查看
/*
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读<<Core PHP Programming>>
| = 中Classes and Objects一章的笔记
| = 翻译为主+个人心得
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢
| = 欢迎批评指正,希望和所有PHP爱好者共同进步!
+-------------------------------------------------------------------------------+
*/
第十二节--类的自动加载
当你尝试使用一个未定义的类时,PHP会报告一个致命错误. 解决方法就是添加一个类,可以用include包含一个文件. 毕竟你知道要用到哪个类. 但是,PHP提供了类的自动加载功能, 这可以节省编程的时间. 当你尝试使用一个PHP没有组织到的类, 它会寻找一个__autoload的全局函数. 如果存在这个函数,PHP会用一个参数来调用它,参数即类的名称.
例子6.15说明了__autoload是如何使用的. 它假设当前目录下每个文件对应一个类. 当脚本尝试来产生一个类User的实例,PHP会执行__autoload. 脚本假设class_User.php中定义有User类.. 不管调用时是大写还是小写,PHP将返回名称的小写.
Listing 6.15 Class autoloading
+-------------------------------------------------------------------------------+
| = 本文为Haohappy读<<Core PHP Programming>>
| = 中Classes and Objects一章的笔记
| = 翻译为主+个人心得
| = 为避免可能发生的不必要的麻烦请勿转载,谢谢
| = 欢迎批评指正,希望和所有PHP爱好者共同进步!
+-------------------------------------------------------------------------------+
*/
第十二节--类的自动加载
当你尝试使用一个未定义的类时,PHP会报告一个致命错误. 解决方法就是添加一个类,可以用include包含一个文件. 毕竟你知道要用到哪个类. 但是,PHP提供了类的自动加载功能, 这可以节省编程的时间. 当你尝试使用一个PHP没有组织到的类, 它会寻找一个__autoload的全局函数. 如果存在这个函数,PHP会用一个参数来调用它,参数即类的名称.
例子6.15说明了__autoload是如何使用的. 它假设当前目录下每个文件对应一个类. 当脚本尝试来产生一个类User的实例,PHP会执行__autoload. 脚本假设class_User.php中定义有User类.. 不管调用时是大写还是小写,PHP将返回名称的小写.
Listing 6.15 Class autoloading
<?php //define autoload function function __autoload($class) { include("class_" . ucfirst($class) . ".php"); } //use a class that must be autoloaded $u = new User; $u->name = "Leon"; $u->printName(); ?>
相关文章推荐
- 第十二节--类的自动加载 -- Classes and Objects in PHP5 [12]
- Classes and Objects in PHP5(1)
- 第三节--定义一个类 -- Classes and Objects in PHP5 [3]
- 第十一节--重载 -- Classes and Objects in PHP5 [11]
- 第十一节--重载 -- Classes and Objects in PHP5 [11]
- 第四节--构造函数和析构函数 -- Classes and Objects in PHP5 [4](转)
- 第十一节--重载 -- Classes and Objects in PHP5 [11](转)
- Classes and Objects in PHP5(2)
- 第二节--PHP5 的对象模型 -- Classes and Objects in PHP5 [2]
- 第十节--抽象方法和抽象类 -- Classes and Objects in PHP5 [10]
- 第十四节--命名空间 -- Classes and Objects in PHP5 [14]
- 第五节--克隆 -- Classes and Objects in PHP5 [5](转)
- 第十四节--命名空间 -- Classes and Objects in PHP5 [14](转)
- Classes and Objects in PHP5(3)
- 第四节--构造函数和析构函数 -- Classes and Objects in PHP5 [4]
- 第六节--访问属性和方法 -- Classes and Objects in PHP5 [6](转)
- 第十五节--Zend引擎的发展 -- Classes and Objects in PHP5 [15](转)
- 第五节--克隆 -- Classes and Objects in PHP5 [5]
- 第十三节--对象串行化 -- Classes and Objects in PHP5 [13]
- 第五节--克隆 -- Classes and Objects in PHP5 [5]