第十二节 类的自动加载 [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表单转换textarea换行符的方法
Sep 10 PHP
php 变量未定义等错误的解决方法
Jan 12 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
浅析PHP绘图技术
Jul 03 PHP
PHP读取RSS(Feed)简单实例
Jun 12 PHP
PHP把小数转成整数3种方法
Jun 30 PHP
php支持断点续传、分块下载的类
May 02 PHP
php实现贪吃蛇小游戏
Jul 26 PHP
PHP中Trait及其应用详解
Feb 14 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
PHP实现的mongoDB数据库操作类完整实例
Apr 10 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 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采用模块和操作分析
2011/04/18 PHP
php从memcache读取数据再批量写入mysql的方法
2014/12/29 PHP
php实现xml转换数组的方法示例
2017/02/03 PHP
List Installed Software Features
2007/06/11 Javascript
分享14个很酷的jQuery导航菜单插件
2011/04/25 Javascript
extjs两个tbar问题探讨
2013/08/08 Javascript
Nodejs极简入门教程(二):定时器
2014/10/25 NodeJs
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
js表单中选择框值的获取及表单的序列化
2015/12/17 Javascript
如何消除inline-block属性带来的标签间间隙
2016/03/31 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
模仿password输入框的实现代码
2016/06/07 Javascript
超实用的javascript时间处理总结
2016/08/16 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
es6 symbol的实现方法示例
2019/04/02 Javascript
Nodejs libuv运行原理详解
2019/08/21 NodeJs
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
Python 条件判断的缩写方法
2008/09/06 Python
Python中使用logging模块打印log日志详解
2015/04/05 Python
如何利用Anaconda配置简单的Python环境
2019/06/24 Python
简单了解python的内存管理机制
2019/07/08 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
python中通过selenium简单操作及元素定位知识点总结
2019/09/10 Python
简述python&amp;pytorch 随机种子的实现
2020/10/07 Python
深入浅析HTML5中的article和section的区别
2018/05/15 HTML / CSS
C语言编程练习
2012/04/02 面试题
What's the difference between deep copy and shallow copy? (深拷贝与浅拷贝有什么区别)
2015/11/10 面试题
大学生学期自我鉴定
2014/03/19 职场文书
中班上学期幼儿评语
2014/04/30 职场文书
学生手册评语
2014/05/05 职场文书
十佳好少年事迹材料
2014/08/21 职场文书
网吧七夕活动策划方案
2014/08/31 职场文书
Mysql案例刨析事务隔离级别
2021/09/25 MySQL