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


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 相关文章推荐
IIS6的PHP最佳配置方法
Mar 19 PHP
PHP连接SQLServer2005 的问题解决方法
Jul 19 PHP
PHP+memcache实现消息队列案例分享
May 21 PHP
PHP中通过trigger_error触发PHP错误示例
Jun 23 PHP
PHP结合Jquery和ajax实现瀑布流特效
Jan 07 PHP
thinkphp3.x自定义Action、Model及View的简单实现方法
May 19 PHP
基于Swoole实现PHP与websocket聊天室
Aug 03 PHP
php版微信小店API二次开发及使用示例
Nov 12 PHP
php把字符串指定字符分割成数组的方法
Mar 12 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 PHP
php实现每日签到功能
Nov 29 PHP
PHP中常用的三种设计模式详解【单例模式、工厂模式、观察者模式】
Jun 14 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
c#中的实现php中的preg_replace
2009/12/21 PHP
在VS2008中编译MYSQL5.1.48的方法
2010/07/03 PHP
解析php中memcache的应用
2013/06/18 PHP
修改ThinkPHP缓存为Memcache的方法
2014/06/25 PHP
php中PDO方式实现数据库的增删改查
2015/05/17 PHP
php抽象方法和普通方法的区别点总结
2019/10/13 PHP
Laravel5.1 框架路由基础详解
2020/01/04 PHP
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
jquery实现弹出窗口效果的实例代码
2013/11/28 Javascript
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
jquery点击改变class并toggle的实现代码
2016/05/15 Javascript
一种Javascript解释ajax返回的json的好方法(推荐)
2016/06/02 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
2016/06/17 Javascript
jQuery如何解决IE输入框不能输入的问题
2016/10/08 Javascript
探究Vue.js 2.0新增的虚拟DOM
2016/10/20 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
2017/12/28 Javascript
手把手15分钟搭一个企业级脚手架
2019/09/16 Javascript
一些Python中的二维数组的操作方法
2015/05/02 Python
Python文档生成工具pydoc使用介绍
2015/06/02 Python
python实现批量修改文件名代码
2017/09/10 Python
PyCharm设置护眼背景色的方法
2018/10/29 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
CSS3 真的会替代 SCSS 吗
2021/03/09 HTML / CSS
Derek Rose官网:英国高档睡衣、家居服和内衣品牌
2020/01/18 全球购物
Ibatis如何调用存储过程
2015/05/15 面试题
应聘编辑自荐信范文
2014/03/12 职场文书
解除聘用合同证明书范本
2014/09/11 职场文书
预备党员自我批评思想汇报
2014/10/10 职场文书
世界环境日活动总结
2015/02/11 职场文书
幼儿园安全教育月活动总结
2015/05/08 职场文书
python 逐步回归算法
2021/04/06 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
python必学知识之文件操作(建议收藏)
2021/05/30 Python
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS