码迷,mamicode.com
首页 > Web开发 > 详细

PHP面向对象之类的自动加载

时间:2017-08-17 23:34:31      阅读:303      评论:0      收藏:0      [点我收藏+]

标签:png   声明   load   time   alt   技术   name   文件路径   register   

类的自动加载

含义:

当某行代码需要一个类的时候,php的内部机制可以做到“自动加载该类文件”,以满足该行需要一个类的这种需求。

 

什么时候需要一个类?

1new一个对象的时候;

2,使用一个类的静态方法的时候;

3,定义一个类(B)并以另一个类(A)作为父类的时候;

 技术分享

 

 

 

条件和要求

1, 当需要一个类的时候,就会自动调用某个函数(默认是__autoload),并传入所需要的类的名字

2, 一个类应该保存到一个独立的“类文件中”:即其中只有该类的定义,没有别的代码;

3,习惯上,类文件的命名要有一定的“规则”,通常是:类名.class.php

4,通常,我们需要将各种类,存储在一些特定的目录中,以方便确定其位置!

5,在该自动加载的函数中,“充分”使用传过来的类名,以构建一个合适的文件路径并载入;

 技术分享

 

 

 

自定义自动加载函数:

刚才,__autoload()函数,是系统内部的自动加载函数,我们只是定义其函数体。

 

但:

 

我们可以使用更多函数(自定义的),来实现更灵活的自动加载!

 

基本模式为:

 

spl_autoload_register(“函数1”); //声明“函数1”作为自动加载函数;

spl_autoload_register(“函数2”); //声明“函数2”也作为自动加载函数;

.........

然后,就去定义这些函数,跟定义__autoload()函数一样:

function  函数1( $class_name ){

//.......

}

function  函数2( $class_name ){

//.......

}

.............

 

这样,系统就会一次调用这些自动加载函数去加载所需要的类,直到加载成功!

 技术分享

 

PHP面向对象之类的自动加载

标签:png   声明   load   time   alt   技术   name   文件路径   register   

原文地址:http://www.cnblogs.com/457248499-qq-com/p/7384880.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!