第十二节 类的自动加载 [12]


Posted in PHP onOctober 09, 2006

当你尝试使用一个未定义的类时,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+SQL 注入攻击的技术实现以及预防办法
Jan 27 PHP
php文件操作实例代码
May 10 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
解析link_mysql的php版
Jun 30 PHP
php 生成自动创建文件夹并上传文件的示例代码
Mar 07 PHP
Symfony实现行为和模板中取得request参数的方法
Mar 17 PHP
简单谈谈 php 文件锁
Feb 19 PHP
php 猴子摘桃的算法
Jun 20 PHP
thinkPHP5.1框架中Request类四种调用方式示例
Aug 03 PHP
关于Yii2框架跑脚本时内存泄漏问题的分析与解决
Dec 01 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Jan 22 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 PHP
第十四节 命名空间 [14]
Oct 09 #PHP
学习使用PHP数组
Oct 09 #PHP
PHP中创建并处理图象
Oct 09 #PHP
如何正确理解PHP的错误信息
Oct 09 #PHP
php+dbfile开发小型留言本
Oct 09 #PHP
用 php 编写的日历
Oct 09 #PHP
第十三节 对象串行化 [13]
Oct 09 #PHP
You might like
PHP面向对象三大特点学习(充分理解抽象、封装、继承、多态)
2012/05/07 PHP
PHP实现微信图片上传到服务器的方法示例
2017/06/29 PHP
简单实用的PHP文本缓存类实例
2019/03/22 PHP
tp5框架内使用tp3.2分页的方法分析
2019/05/05 PHP
jQuery的实现原理的模拟代码 -3 事件处理
2010/08/03 Javascript
解析ScrollPic在ie8下只滚动一遍,然后变为空白 ie6,ie7,chrome,firefox正常
2013/06/26 Javascript
JS简单随机数生成方法
2016/09/05 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
利用types增强vscode中js代码提示功能详解
2017/07/07 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
关于axios不能使用Vue.use()浅析
2018/01/12 Javascript
element-ui 上传图片后清空图片显示的实例
2018/09/04 Javascript
一次微信小程序内地图的使用实战记录
2019/09/09 Javascript
JS数组方法join()用法实例分析
2020/01/18 Javascript
[02:37]2015国际邀请赛选手档案—LGD.Xiao8
2015/07/28 DOTA
python常用web框架简单性能测试结果分享(包含django、flask、bottle、tornado)
2014/08/25 Python
在Python中使用AOP实现Redis缓存示例
2017/07/11 Python
Python基于OpenCV实现视频的人脸检测
2018/01/23 Python
Python2实现的图片文本识别功能详解
2018/07/11 Python
对python 命令的-u参数详解
2018/12/03 Python
Python基于机器学习方法实现的电影推荐系统实例详解
2019/06/25 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Python @property及getter setter原理详解
2020/03/31 Python
HTML5 UTF-8 中文乱码的解决方法
2013/11/18 HTML / CSS
猫咪家具:CatsPlay
2018/11/03 全球购物
Invicta手表官方商店:百年制表历史的瑞士腕表品牌
2019/09/26 全球购物
酒店前厅员工辞职信
2014/01/08 职场文书
2014教师党员自我评议总结
2014/09/19 职场文书
企业2014年度工作总结
2014/12/10 职场文书
个人专业技术总结
2015/03/05 职场文书
2015年健康教育工作总结
2015/04/10 职场文书
教师培训简讯
2015/07/20 职场文书
SpringCloud Alibaba项目实战之nacos-server服务搭建过程
2021/06/21 Java/Android
Lakehouse数据湖并发控制陷阱分析
2022/03/31 Oracle
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技
GO中sync包自由控制并发示例详解
2022/08/05 Golang