PHP 类文件的自动加载机制 __autoload()

2017-08-20 19:02 出处:360java.com 作者:360java  阅读()
如果一个类在多个脚本中都需要使用,可以将一个类的定义代码,单独的封装到一个文件中,这种文件也叫作类文件,在需要的时候,将整个文件载入进来即可! PHP在执行的时候,如

如果一个类在多个脚本中都需要使用,可以将一个类的定义代码,单独的封装到一个文件中,这种文件也叫作类文件,在需要的时候,将整个文件载入进来即可!

 

PHP在执行的时候,如果发现需要一个类(只要是和这个类相关的任何的操作),但此时当前脚本又没有这个类的定义代码,也没有手动加载这个类文件,那么,PHP会自动的调用一个名字叫作__autoload($class_name)函数,调用的时候,会给该函数传递一个参数,该参数就是当前所需要的类的类名!

PHP 类文件的自动加载机制 __autoload()

此时,未引入Student.class.php这个类文件,用__autoload()函数自动调用需要加载的文件!

 

这样做的最大好处就是在一个脚本中只需要载入一个文件就行了,但是也有一个很大的弊端,就是会有很多多余的类也被载入了(当前脚本根本就用不上)!

 

一般的,系统默认的自动加载函数就是__autoload(),但是随着项目规模的扩大,有可能出现多个自动加载函数,比如加载的文件里面又有自动加载函数!此时就出现了函数重名的问题了!

第一步:定义一个可以加载类文件的普通函数

PHP 类文件的自动加载机制 __autoload()

但是,此时系统不会自动的调用f1函数!

 

第二步:将该普通函数注册成自动加载函数

 

此时,需要使用一个系统函数来完成:

spl_autoload_register(‘function_name’)

有一个参数,就是函数的名字!

PHP 类文件的自动加载机制 __autoload()

结果如下

PHP 类文件的自动加载机制 __autoload()

 

分享到:
本文标签: 文件, 自动, 加载, 机制, autoload

相关文章

发表评论(共条评论)愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

Copyright (C) java学习 360java 360java.com, All Rights Reserved.

苏ICP备16022210号