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


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 相关文章推荐
数据库的日期格式转换
Oct 09 PHP
PHP 数组实例说明
Aug 18 PHP
关于crontab的使用详解
Jun 24 PHP
php基于双向循环队列实现历史记录的前进后退等功能
Aug 08 PHP
PHP爬虫之百万级别知乎用户数据爬取与分析
Jan 22 PHP
简介PHP的Yii框架中缓存的一些高级用法
Mar 29 PHP
php+js实现裁剪任意形状图片
Oct 31 PHP
php多进程模拟并发事务产生的问题小结
Dec 07 PHP
PHP检查URL包含特定字符串实例方法
Feb 11 PHP
PHP工厂模式、单例模式与注册树模式实例详解
Jun 03 PHP
Laravel5.1 框架路由基础详解
Jan 04 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
Mar 26 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木马webshell扫描器代码
2012/01/25 PHP
PHP传参之传值与传址的区别
2015/04/24 PHP
PHP基于DateTime类解决Unix时间戳与日期互转问题【针对1970年前及2038年后时间戳】
2018/06/13 PHP
JavaScript 类的定义和引用 JavaScript高级培训 自定义对象
2010/04/27 Javascript
javascript游戏开发之《三国志曹操传》零部件开发(二)人物行走的实现
2013/01/23 Javascript
JQuery鼠标移到小图显示大图效果的方法
2015/06/10 Javascript
轻松搞定js表单验证
2016/10/13 Javascript
Vue的百度地图插件尝试使用
2017/09/06 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
Vue shopCart 组件开发详解
2018/01/26 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
详解element-ui表格中勾选checkbox,高亮当前行
2019/09/02 Javascript
通过Kettle自定义jar包供javascript使用
2020/01/29 Javascript
vue如何在项目中调用腾讯云的滑动验证码
2020/07/15 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
python基础教程之简单入门说明(变量和控制语言使用方法)
2014/03/25 Python
Python中实现结构相似的函数调用方法
2015/03/10 Python
Python中的fileinput模块的简单实用示例
2015/07/09 Python
python如何实现远程控制电脑(结合微信)
2015/12/21 Python
Python+Wordpress制作小说站
2017/04/14 Python
Python3中条件控制、循环与函数的简易教程
2017/11/21 Python
python提取包含关键字的整行数据方法
2018/12/11 Python
Python图像处理库PIL中图像格式转换的实现
2020/02/26 Python
如何解决flask修改静态资源后缓存文件不能及时更改问题
2020/08/02 Python
微信小程序canvas实现水平、垂直居中效果
2020/02/05 HTML / CSS
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
详解HTML5布局和HTML5标签
2020/10/26 HTML / CSS
中职生自我鉴定范文
2013/10/03 职场文书
生物科学专业个人求职信范文
2013/12/07 职场文书
大学生职业生涯规划范文
2014/01/08 职场文书
两年的个人工作自我评价
2014/01/10 职场文书
结婚喜宴家长答谢词
2014/01/15 职场文书
开门红主持词
2014/04/02 职场文书
党风廉政建设责任书
2014/04/14 职场文书
千手观音观后感
2015/06/03 职场文书
2015年团委副书记工作总结
2015/07/23 职场文书