易截截图软件、单文件、免安装、纯绿色、仅160KB

PHP中__autoload()函数的使用


我们知道在PHP4里面,当我们使用一个类的时候,必须将该类所以文件使用include或require加进来,这样我们就可以使用类了。
而对于PHP5来说也可以使用在PHP4里面的方式,将类文件包进来,但当有了__autoload之后,这种情况就可以靠编写规则也实现。
以下代码:
<?php 
$obj_A = new clsA(); 
$obj_B = new clsB(); 
?> 
PHP4下正确写法为:
<?php 
//PHP4 写法,之前必须加载类文件
include_once "cls/clsA.php"; 
include_once "cls/clsB.php"; 
$obj_A = new clsA(); 
$obj_B = new clsB(); 
?> 
处理加载步骤为: 
1,加载类文件。 
2,实例化类。 
PHP5下使用__autoload()(自动加载)的正确写法为: 
<?php 
// PHP5 Used __autoload function 
$obj_A = new clsA(); 
$obj_B = new clsB(); 
function __autoload($className){ 
include_once "cls/$className.php"; 

?> 
处理加载步骤为(使用autoload函数): 
1,创建对象(伪实例) 
2,调用__autoload函数,将伪实例的类名传入 
3,使用__autoload函数中,预先写好的加载规则进行加载类文件 
4,实例化对象(真实实例) 
因此,我们可以看出,对于PHP5的autoload函数,必须给定规则,否则一点用没有。 
对于PHP5的__autoload函数的使用时需要注意或完成如下事情。 
1,__autoload函数是用在类外面,而不是在类里面的函数。(__autoload也是被PHP5保护的关键字之一) 
2,完成对__autoload函数加载规则的编码。 
如上,当知道A是在cls目录中,而B是在cls/cls目录中。则编写__autoload加载规则就是必要的。
<?php 
// PHP5 Used __autoload function 
$obj_A = new clsA(); // in "cls" directory! 
$obj_B = new clsB(); // in "cls/cls" directory! 
function __autoload($className){ 
if(strtolowwer($className) == "clsb"){ 
require_once "cls/cls/$className.php"; 
}else{ 
include_once "cls/$className.php"; 


?> 
总结:因此,对


相关文档:

php variable circular reference

 
Php Variable Circular References

Circular-references has been a long outstanding issue with PHP. They are
caused by the fact that PHP uses a reference counted memory allocation
mechanism for its internal variables. This causes problems for longer
running scripts (such as an Applicatio ......

PHP类的访问控制

PHP中类的方法也和C++通过关键字 private
、Public
、 protected
来控制的。下边是详细说明:
1、private
     函数前使用关键字Private表示函数是私有的,私有的意思顾名思义,针对当前类私有,无论是他的子类还是他的实例都无法访问。
     还是先看代码:
 &nbs ......

php常用类整理

php常用类整理
时间:2009-12-19 20:45 来源:人力方 作者:syuanq 点击:548
在实际开发过程会经常会遇到一些重复的操作,如果每次都要自己去实现这无疑加重了自己的工作量,下面对一些可能经常用到的类做个整理:
图表库
下面的类库可以让你很简单就能创建复杂的图表和图片。当然,它们需要GD库的支持 ......

使用NetBeans + Xdebug调试PHP程序[总结]


转载请注明出处: http://www.zvv.cn/blog/show-101-1.html
  前些天发现通过Notepad++的DBGP插件结合PHP的xdebug扩展可以实现PHP文件调试,同时,介绍说包含了单步调试、监视变量还有跨 文件调试。按照网络上的资料配置好调试环境后实际试用了发现功能较为简陋,单文件调试还可,如果是跨文件调试项目就不那么舒服了, ......

php字符串函数大全

AddSlashes: 字符串加入斜线。
bin2hex: 二进位转成十六进位。
Chop: 去除连续空白。
Chr: 返回序数值的字符。
chunk_split: 将字符串分成小段。
convert_cyr_string: 转换古斯拉夫字符串成其它字符串。
crypt: 将字符串用 DES 编码加密。
echo: 输出字符串。
explode: 切开字符串。
flush: 清出输出缓冲区。
get ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号