PHP5的对象模型[12]--类的自动加载
2004-08-08 00:17
260 查看
第十二节--类的自动加载
当你尝试使用一个未定义的类时,PHP会报告一个致命错误. 解决方法就是添加一个类,可以用include包含一个文件. 毕竟你知道要用到哪个类. 但是,PHP提供了类的自动加载功能, 这可以节省编程的时间. 当你尝试使用一个PHP没有组织到的类, 它会寻找一个__autoload的全局函数. 如果存在这个函数,PHP会用一个参数来调用它,参数即类的名称.
例子6.15说明了__autoload是如何使用的. 它假设当前目录下每个文件对应一个类. 当脚本尝试来产生一个类User的实例,PHP会执行__autoload. 脚本假设class_User.php中定义有User类.. 不管调用时是大写还是小写,PHP将返回名称的小写.
Listing 6.15 Class autoloading
//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();
?>
当你尝试使用一个未定义的类时,PHP会报告一个致命错误. 解决方法就是添加一个类,可以用include包含一个文件. 毕竟你知道要用到哪个类. 但是,PHP提供了类的自动加载功能, 这可以节省编程的时间. 当你尝试使用一个PHP没有组织到的类, 它会寻找一个__autoload的全局函数. 如果存在这个函数,PHP会用一个参数来调用它,参数即类的名称.
例子6.15说明了__autoload是如何使用的. 它假设当前目录下每个文件对应一个类. 当脚本尝试来产生一个类User的实例,PHP会执行__autoload. 脚本假设class_User.php中定义有User类.. 不管调用时是大写还是小写,PHP将返回名称的小写.
Listing 6.15 Class autoloading
//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 [12](转)
- PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
- 类 自动加载对象
- PHP5的对象模型[13]--对象串行化
- YII框架中的自动加载自定义数据模型操作
- LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载
- PHP基础之类和对象4——自动加载对象
- php面向对象全攻略 (十七) 自动加载类
- php 自动加载对象
- 深度探索C++对象模型-----编译器’何时‘自动合成nontrivial default constructor
- PHP面向对象程序设计之命名空间与自动加载类详解
- LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载
- 谈谈.NET中如何根据代码自动生成代码对象模型的解决思路
- LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载
- Swift网络请求,数据模型,图片缓存,自动布局,上拉刷新下拉加载
- PHP5的对象模型[14]--Zend引擎的发展
- PHP面向对象深入研究之【命名空间】与【自动加载类】
- LINQ体验(12)——LINQ to SQL语句之对象标识和对象加载
- PHP面向对象自动加载机制原理与用法分析