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


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 相关文章推荐
火车头采集器3.0采集图文教程
Mar 17 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
浅析php header 跳转
Jun 17 PHP
php删除数组元素示例分享
Feb 17 PHP
迁移PHP版本到PHP7
Feb 06 PHP
laravel 5 实现模板主题功能
Mar 02 PHP
PHP经典面试题集锦
Mar 19 PHP
详谈PHP编码转换问题
Jul 28 PHP
phpStudy访问速度慢和启动失败的解决办法
Nov 19 PHP
解析WordPress中的post_class与get_post_class函数
Jan 04 PHP
thinkPHP模板中函数的使用方法示例
Nov 30 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
Aug 05 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下使用SMTP发邮件的代码
2008/01/10 PHP
PHP学习之正则表达式
2011/04/17 PHP
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
2011/05/04 PHP
PHP超级全局变量数组小结
2012/10/04 PHP
json的键名为数字时的调用方式(示例代码)
2013/11/15 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
laravel批量生成假数据的方法
2019/10/09 PHP
javascript 一段左右两边随屏滚动的代码
2009/06/18 Javascript
神奇的7个jQuery 3D插件整理
2011/01/06 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
jquery跟js初始化加载的多种方法及区别介绍
2014/04/02 Javascript
js操作IE浏览器弹出浏览文件夹可以返回目录路径
2014/07/14 Javascript
jQuery实现批量判断表单中文本框非空的方法(2种方法)
2015/12/09 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
Bootstrap3使用typeahead插件实现自动补全功能
2016/07/07 Javascript
jQuery常用样式操作实例分析(获取、设置、追加、删除、判断等)
2016/09/08 Javascript
js正则表达式验证表单【完整版】
2017/03/06 Javascript
vue.js开发实现全局调用的MessageBox组件实例代码
2017/11/22 Javascript
element-ui组件table实现自定义筛选功能的示例代码
2019/03/15 Javascript
详解vue中使用微信jssdk
2019/04/19 Javascript
如何在微信小程序中存setStorage
2019/12/13 Javascript
非常漂亮的js烟花效果
2020/03/10 Javascript
vue自定义指令和动态路由实现权限控制
2020/08/28 Javascript
Vue中避免滥用this去读取data中数据
2021/03/02 Vue.js
Python中unittest用法实例
2014/09/25 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
python同时遍历数组的索引和值的实例
2018/11/15 Python
Pandas透视表(pivot_table)详解
2019/07/22 Python
Python 实现向word(docx)中输出
2020/02/13 Python
python GUI库图形界面开发之PyQt5计数器控件QSpinBox详细使用方法与实例
2020/02/28 Python
CSS3之多背景background使用示例
2013/10/18 HTML / CSS
编辑找工作求职信范文
2013/12/16 职场文书
环保建议书作文
2014/03/12 职场文书
英文版辞职信
2015/02/28 职场文书
结婚通知短信怎么写
2015/04/17 职场文书
MySQL8.0升级的踩坑历险记
2021/11/01 MySQL