__autoload()

在实际项目中,不可能把所有的类都写在一个 PHP 文件中,当在一个 PHP 文件中需要调用另一个文件中声明的类时,就需要通过 include 把这个文件引入。不过有的时候,在文件众多的项目中,要一一将所需类的文件都 include 进来,一个很大的烦恼是不得不在每个类文件开头写一个长长的包含文件的列表。我们能不能在用到什么类的时候,再把这个类所在的 php 文件导入呢?

为此,PHP 提供了 __autoload() 方法,它会在试图使用尚未被定义的类时自动调用。通过调用此函数,脚本引擎在 PHP 出错失败前有了最后一个机会加载所需的类。

__autoload() 方法接收的一个参数,就是欲加载的类的类名,所以这时候需要类名与文件名对应,如 Person.php ,对应的类名就是 Pserson 。

例子:

Pserson.php

class Person {

private $name;

private $age;

function __construct($name, $age) {

$this->name = $name;

$this->age = $age;

}

function say() {

echo "我的名字叫:".$this->name."
";

echo " 我的年龄是:".$this->age;

}

}

?>

test.php

function __autoload($class_name)

{

require_once $class_name.'.php';

}

//当前页面 Pserson 类不存在则自动调用 __autoload() 方法,传入参数 Person

$p1 = new Person("张三","20");

$p1 -> say();

?>

运行 test.php ,输出:

我的名字叫:张三

我的年龄是:20

这就是微学网-程序员之家为你提供的"php类讲解8:PHP 自动加载类 __autoload() 方法"希望对你有所帮助.本文来自网络,转载请注明出处:http://www.weixuecn.cn/article/7374.html

php 类自动执行方法,php类讲解8:PHP 自动加载类 __autoload() 方法相关推荐

  1. 懒加载和预加载的区别_类的动态创建(ro,rw)amp; 懒加载类和非懒加载类底层加载的区别 amp; 类和分类的搭配分析...

    黑客技术点击右侧关注,了解黑客的世界! Java开发进阶点击右侧关注,掌握进阶之路! Python开发点击右侧关注,探讨技术话题!作者丨OSMin链接:https://juejin.im/post/5 ...

  2. java的方法什么时候加载,java – JVM什么时候加载类?

    只有当您需要有关该类的信息时,才会加载类. public class SomethingCaller { public static Something something = null; // (1 ...

  3. 【Arthas】Arthas dump导出加载类

    1.概述 转载:Arthas dump导出加载类 2.开篇 Arthas提供dump命令来导出已加载类的 byte code 到特定目录,可以考虑用来排查线上代码是否是最新的,这个命令的原理和Arth ...

  4. dll已加载但找不到入口点dllregisterserver_Java 是如何加载类的?

    本文只是从 Java 的角度出发,并不涉及 Android 的类加载方式. 从上一篇解析类加载机制的文章: 我们已经知道了 ClassLoader 的委托机制. 本篇文章我们来详细分析下 ClassL ...

  5. Java 动态加载类

    Class.forName("类的全称"); 不仅表示类的类类型,还代表了动态加载类 请大家区分编译.运行 编译时刻加载类时静态加载类.运行时刻加载类时动态加载类 编写一个Offi ...

  6. 关于Java加载类顺序的问题

    具体参考自https://blog.csdn.net/changerzhuo_319/article/details/78925184 直接上结论: 相同的类就加载顺序为: (0)同一个ClassLo ...

  7. yii2 引入php文件,Yii2中YiiBase自动加载类、引用文件方法分析(autoload)

    本文实例分析了Yii2中YiiBase自动加载类.引用文件的方法.分享给大家供大家参考,具体如下: 在Yii2中这个函数是用来加载类的,没有直接引用文件的相关实现.但是这个也可以用来引用文件. pub ...

  8. Zend Framework 自动加载类的实现方法

    Zend Framework中实现自动加载类.网上查了很多,有好几种.本文收集了常用的3种, 第一种如下: 方法很简单,举例说明.比如想要在models目录下的类可以自动加载. 先在index.php ...

  9. php加载autoload,php自动加载类__autoload()的方法_PHP教程

    本文章来给大家简单的介绍一下关于php自动加载类__autoload()的方法,希望此方法对各位同学会有所帮助哦. 作用:当在程序中需要实例化一个类,刚好这这类又不是在本文件中,则需要用包含函数将外部 ...

最新文章

  1. RGB565与RGB555位图文件格式的标志识别
  2. Citrix xenapp
  3. Java处理某些图片红色问题
  4. php object添加到数组,PHP Object转换为数组array
  5. java获取spring注解的实体_Spring 注解实体类中非数据库字段属性
  6. android 自动化 录制,android 自动化录制回放测试工具
  7. android.os.networkonmainthredexception,android.os.NetworkOnMainThreadException 解决办法:
  8. 车牌识别算法_易泊车牌识别算法助力智慧城市交通
  9. linux 检查文件更新,Linux系统文件系统优化及磁盘检查
  10. 国内计算机期刊SCI收录
  11. 金蝶云星空表单插件开发常用事件、方法、函数
  12. 学习随笔#13 模型预测控制(MPC)
  13. html和js制作个人所得税表格,H5编写个税计算器(JS代码编写).doc
  14. 洛谷2672 推销员
  15. Ubuntu快速下载电驴ed2k文件
  16. RocketMQ源码解析之消息生产者(获取topic路由信息)
  17. Eureka Client启动后就关闭 Unregistering application xxx with eureka with status DOWN
  18. Flask模板中可以直接访问的特殊变量和方法
  19. IEEE trans模板格式中的分栏及左下角作者信息脚注的添加方法(Word 2010)
  20. c语言编程 遍历字符串,请教大家一个C语言面试的编程题目 C语言:循环执行让用户输入一串字符串,如123456789......

热门文章

  1. Java案例:Swing版记事本
  2. 2017.3.29 lis 失败总结
  3. linux修改http版本信息,动态库中的soname中版本号的修改
  4. 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
  5. 【英语学习】【医学】【解剖学】Atlas of Human Anatomy (6e) 的目录
  6. 【英语学习】【WOTD】 putsch 释义/词源/示例
  7. linux netfilter 分析,Linux Kernel Netfilter Helper 分析
  8. java sha1withrsa公钥加密_数字签名----sha1withrsa
  9. java项目日志文件过大解决_Tomcat catalina.out文件过大的解决方案
  10. C++开源矩阵计算工具——Eigen 在VS2005中的下载、配置与使用