第十二节--类的自动加载


Posted in PHP onNovember 16, 2006

/*
+-------------------------------------------------------------------------------+
| = 本文为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 相关文章推荐
实用函数7
Nov 08 PHP
php中使用preg_replace函数匹配图片并加上链接的方法
Feb 06 PHP
PHP+jQuery 注册模块的改进(三):更新到Smarty3.1
Oct 14 PHP
PHP实现的简单日历类
Nov 29 PHP
PHP中开启gzip压缩的2种方法
Jan 31 PHP
php将图片保存为不同尺寸图片的图片类实例
Mar 30 PHP
php5.4以上版本GBK编码下htmlspecialchars输出为空问题解决方法汇总
Apr 03 PHP
php中Snoopy类用法实例
Jun 19 PHP
PHP巧妙利用位运算实现网站权限管理的方法
Mar 12 PHP
动态表单验证的操作方法和TP框架里面的ajax表单验证
Jul 19 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
第十一节--重载
Nov 16 #PHP
第十节--抽象方法和抽象类
Nov 16 #PHP
第九节--绑定
Nov 16 #PHP
第八节--访问方式
Nov 16 #PHP
第七节--类的静态成员
Nov 16 #PHP
第六节--访问属性和方法
Nov 16 #PHP
第五节--克隆
Nov 16 #PHP
You might like
PHP 根据IP地址控制访问的代码
2010/04/22 PHP
Mac OS下配置PHP+MySql环境
2015/02/25 PHP
php递归调用删除数组空值元素的方法
2015/04/28 PHP
laravel-admin的多级联动方法
2019/09/30 PHP
神奇的代码 通杀各种网站-可随意修改复制页面内容
2008/07/17 Javascript
new Date()问题在ie8下面的处理方法
2014/07/31 Javascript
限制上传文件大小和格式的jQuery插件实例
2015/01/24 Javascript
JS实现弹出居中的模式窗口示例
2016/06/20 Javascript
Javascript for in的缺陷总结
2017/02/03 Javascript
protractor的安装与基本使用教程
2017/07/07 Javascript
vue-router配合ElementUI实现导航的实例
2018/02/11 Javascript
详解vue 项目白屏解决方案
2018/10/31 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
Python正则表达式介绍
2012/08/06 Python
python str与repr的区别
2013/03/23 Python
python获取图片颜色信息的方法
2015/03/18 Python
python threading模块操作多线程介绍
2015/04/08 Python
Python设置默认编码为utf8的方法
2016/07/01 Python
Python实现图片拼接的代码
2018/07/02 Python
python得到电脑的开机时间方法
2018/10/15 Python
python实现AES加密和解密
2019/03/27 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
Python如何使用神经网络进行简单文本分类
2021/02/25 Python
我们是伦敦女孩:WalG
2018/01/08 全球购物
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
公务员总结性个人自我评价
2013/12/05 职场文书
装饰资料员岗位职责
2013/12/30 职场文书
主要负责人任命书
2014/06/06 职场文书
国际贸易实训报告
2014/11/05 职场文书
离婚协议书格式
2014/11/21 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
售房协议书范本
2015/08/11 职场文书
导游词之介休绵山
2019/12/31 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
修改MySQL的数据库引擎为INNODB的方法
2021/05/26 MySQL