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


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 相关文章推荐
社区(php&amp;&amp;mysql)二
Oct 09 PHP
php部分常见问题总结
Mar 27 PHP
php自动获取目录下的模板的代码
Aug 08 PHP
shopex主机报错误请求解决方案(No such file or directory)
Dec 27 PHP
PHP中使用循环实现的金字塔图形
Nov 08 PHP
php输入数据统一类实例
Feb 23 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
PHP生成制作验证码的简单实例
Jun 12 PHP
Yii框架中sphinx索引配置方法解析
Oct 18 PHP
PHP自定义多进制的方法
Nov 03 PHP
详解json在php中的应用
Sep 30 PHP
PHP实现提高SESSION响应速度的几种方法详解
Aug 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:风雨欲来 路在何方?
2006/10/09 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
YII框架关联查询操作示例
2019/04/29 PHP
js 浮动层菜单收藏
2009/01/16 Javascript
javascript 快速排序函数代码
2012/05/30 Javascript
JS中setTimeout()的用法详解
2013/04/14 Javascript
浅析JavaScript中的同名标识符优先级
2013/12/06 Javascript
使用CoffeeScrip优美方式编写javascript代码
2015/10/28 Javascript
BootStrap响应式导航条实例介绍
2016/05/06 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
原生JS实现首页进度加载动画
2016/09/14 Javascript
svg动画之动态描边效果
2017/02/22 Javascript
详解nodejs中的process进程
2017/03/19 NodeJs
JS鼠标滚动分页效果示例
2017/07/05 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
分享5个小技巧让你写出更好的 JavaScript 条件语句
2018/10/20 Javascript
Vue.js中的extend绑定节点并显示的方法
2019/06/20 Javascript
vue 兄弟组件的信息传递的方法实例详解
2019/08/30 Javascript
Electron实现应用打包、自动升级过程解析
2020/07/07 Javascript
JS实现放大镜效果
2020/09/21 Javascript
[04:40]2016个国际邀请赛中国区预选赛场地——华西村观战指南
2016/06/25 DOTA
Python 解析XML文件
2009/04/15 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
浅析python的优势和不足之处
2018/11/20 Python
Python bytes string相互转换过程解析
2020/03/05 Python
css3中flex布局宽度不生效的解决
2020/12/09 HTML / CSS
现金会计岗位职责
2013/12/05 职场文书
大型营销活动计划书
2014/04/28 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
2014领导班子四风问题对照检查材料思想汇报
2014/09/21 职场文书
对照检查剖析材料
2014/09/30 职场文书
三好学生个人总结
2015/02/15 职场文书
离婚上诉状范文
2015/05/23 职场文书
PHP使用QR Code生成二维码实例
2021/07/07 PHP
Spring Boot 排除某个类加载注入IOC的操作
2021/08/02 Java/Android
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis