第十二节 类的自动加载 [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 相关文章推荐
基于mysql的论坛(6)
Oct 09 PHP
为查询结果建立向后/向前按钮
Oct 09 PHP
15种PHP Encoder的比较
Mar 06 PHP
一篇入门的php Class 文章
Apr 04 PHP
PHP 5.3 下载时 VC9、VC6、Thread Safe、Non Thread Safe的区别分析
Mar 28 PHP
php长字符串定义方法
Jul 12 PHP
在Ubuntu 14.04上部署 PHP 环境及 WordPress
Sep 02 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
php实现压缩合并js的方法【附demo源码下载】
Sep 22 PHP
实现PHP搜索加分页
Oct 12 PHP
Laravel6.18.19如何优雅的切换发件账户
Jun 14 PHP
PHP 实现缩略图
Mar 09 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
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
一款简单实用的php操作mysql数据库类
2014/12/08 PHP
PHP获取一段文本显示点阵宽度和高度的方法
2015/03/12 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php支付宝APP支付功能
2020/07/29 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
jQeury淡入淡出需要注意的问题
2010/09/08 Javascript
基于jQuery的烟花效果(运动相关)点击屏幕出烟花
2012/06/14 Javascript
jquery中push()的用法(数组添加元素)
2014/11/25 Javascript
JS给超链接加确认对话框的方法
2015/02/24 Javascript
javascript实现base64 md5 sha1 密码加密
2015/09/09 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
jQuery EasyUI Draggable拖动组件
2017/03/01 Javascript
JS实现向iframe中表单传值的方法
2017/03/24 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
2019/06/09 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
JavaScript实现单点登录的示例
2020/09/23 Javascript
vue 使用 v-model 双向绑定父子组件的值遇见的问题及解决方案
2021/03/01 Vue.js
[43:03]完美世界DOTA2联赛PWL S2 PXG vs Magma 第二场 11.21
2020/11/24 DOTA
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
python处理DICOM并计算三维模型体积
2019/02/26 Python
python单例模式的多种实现方法
2019/07/26 Python
django框架单表操作之增删改实例分析
2019/12/16 Python
Python3 实现爬取网站下所有URL方式
2020/01/16 Python
巴西最大的珠宝连锁店:Vivara
2019/04/18 全球购物
Myprotein芬兰官网:欧洲第一运动营养品牌
2019/05/05 全球购物
优秀班主任经验交流材料
2014/06/02 职场文书
法学专业毕业生自荐信
2014/06/11 职场文书
公司离职证明标准范本
2014/10/05 职场文书
见习报告格式范文
2014/11/08 职场文书
《搭石》教学反思
2016/02/18 职场文书
成本低的5个创业项目:投资小、赚钱快
2019/08/20 职场文书
Redis安装启动及常见数据类型
2021/04/14 Redis
HTML基础详解(上)
2021/10/16 HTML / CSS