__autoload用法
__autoload()是实现了一个自动加载的功能;
当你去实例化一个未声明的类时,会自动调用__autoload()方法;
如果new时,该类已经声明,__autoload()方法不执行;
__autoload()方法被系统自动调用时,收到一个一个参数,值为类名!
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
<
?
php
/***
====自定义函数注册成为"自动加载函数"====
-------->自动加载只能用__autoload函数吗?<--------
答:不是的,其实也可以指定一个函数
比如:我们就用zidongjiazai()函数
注意:
要通知系统,让系统知道--我自己写了一个自动加载方法,用这个!
怎么通知: 用系统函数 spl_auto_register
***/
// 下面这句话,是把zidongjiazai函数注册成为"自动加载函数";
spl_autoload_register
(
'zidongjiazai'
)
;
function
zidongjiazai
(
$
c
)
{
echo
'我引入了./'
.
$
c
.
'.php'
,
'<br />'
;
require
(
'./'
.
$
c
.
'.php'
)
;
}
$
HumanModel
=
new
HumanModel
(
)
;
$
HumanModel
->
t
(
)
;
/**
__autoload 是一个函数
我能自己注册一个自动加载函数
能否注册类的一个静态方法 当 自动加载函数?
TP里这么做的,自己解决 :)
|