第十二节--类的自动加载
作者:bea
/* +-------------------------------------------------------------------------------+ |=本文为Haohappy读<<CorePHPProgramming>> |=中ClassesandObjects一章的笔记 |=翻译为主+个人心得 |=为避免可能发生的不必要的麻烦请勿转载,谢谢 |=欢迎批评指正,希望和所有PHP爱好者共同进步! +-----------------
/*
+-------------------------------------------------------------------------------+
| = 本文为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();
?>
有用 | 无用
+-------------------------------------------------------------------------------+
| = 本文为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();
?>
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP的面试题集
- php+mysql实现无限级分类 | 树型显示分类关系
- PHP生成静态页面详解
- smarty实例教程
- PHP编程中八种常见的文件操作方式
- PHP初学入门
- PHP5新特性: 更加面向对象化的PHP
- Windows中安装Apache2和PHP4权威指南
- Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
- Windows下的PHP5.0详解
- 一些关于PHP的知识
- PHP4和PHP5共存于一系统
- Apache2 httpd.conf 中文版
- php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置
- 一个MYSQL操作类
- 一个好用的分页函数
- 第十五节--Zend引擎的发展
- 第十四节--命名空间
- 第十三节--对象串行化