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


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 相关文章推荐
安装APACHE
Jan 15 PHP
修改php.ini实现Mysql导入数据库文件最大限制的修改方法
Dec 11 PHP
据说是雅虎的一份PHP面试题附答案
Jan 07 PHP
PHP iconv 解决utf-8和gb2312编码转换问题
Apr 12 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
Jul 03 PHP
PHP中通过语义URL防止网站被攻击的方法分享
Sep 08 PHP
解析php安全性问题中的:Null 字符问题
Jun 21 PHP
PHP单例模式详解及实例代码
Dec 21 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
May 04 PHP
php实现的二叉树遍历算法示例
Jun 15 PHP
深入理解 PHP7 中全新的 zval 容器和引用计数机制
Oct 15 PHP
Laravel Eloquent ORM 多条件查询的例子
Oct 10 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 结果集的分页实现代码
2009/03/10 PHP
php实现可用于mysql,mssql,pg数据库操作类
2014/12/13 PHP
PHP实现验证码校验功能
2017/11/16 PHP
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
js 针对html DOM元素操作等经验累积
2014/03/11 Javascript
基于iframe实现类似于ajax的页面无刷新
2014/05/31 Javascript
JavaScript取得WEB安全颜色列表的方法
2015/07/14 Javascript
利用jQuery中的ajax分页实现代码
2016/02/25 Javascript
jQuery选择器基础入门教程
2016/05/10 Javascript
angular实现form验证实例代码
2017/01/17 Javascript
js图片放大镜效果实现方法详解
2020/10/28 Javascript
javascript 中的继承实例详解
2017/05/05 Javascript
基于vue+canvas的excel-like组件实例详解
2017/11/28 Javascript
Vue前后端不同端口的实现方法
2018/09/19 Javascript
[05:31]DOTA2英雄梦之声_第04期_光之守卫
2014/06/23 DOTA
[02:30]联想杯DOTA2完美世界全国高校联赛—北京站现场
2015/11/16 DOTA
python进阶教程之词典、字典、dict
2014/08/29 Python
python使用cStringIO实现临时内存文件访问的方法
2015/03/26 Python
Python3多进程 multiprocessing 模块实例详解
2018/06/11 Python
Python 字符串转换为整形和浮点类型的方法
2018/07/17 Python
深入浅析python 协程与go协程的区别
2019/05/09 Python
python 利用Pyinstaller打包Web项目
2020/10/23 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
如何通过python计算圆周率PI
2020/11/11 Python
Vero Moda西班牙官方购物网站:丹麦BESTSELLER旗下知名女装品牌
2018/04/27 全球购物
文明礼仪小标兵事迹
2014/01/12 职场文书
金融专业大学生职业生涯规划范文
2014/01/16 职场文书
企业安全生产责任书范本
2014/07/28 职场文书
2014院党委领导班子对照检查材料思想汇报
2014/09/24 职场文书
英文感谢信范文
2015/01/21 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
情况说明书怎么写
2015/10/08 职场文书
导游词之日本富士山
2020/01/06 职场文书
10大幻兽系恶魔果实 蝙蝠果实上榜,第一自愈能力强
2022/03/18 日漫
Python实现Hash算法
2022/03/18 Python
Mysql分析设计表主键为何不用uuid
2022/03/31 MySQL