易截截图软件、单文件、免安装、纯绿色、仅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 mysql回滚示例

首先,建InnoDB类型的表,才能支持事务
$handler = mysql_connect('localhost', '', '');
mysql_select_db('test');
mysql_query('SET AUTOCOMMIT=0'); // 设置为不自动提交查询
mysql_query('START TRANSACTION'); // 开始查询,这里也可以使用BEGIN
mysql_query("INSERT INTO users VALUES ('ccc')");
mysql_query( ......

PHP数组函数array_push

想到PHP操作数组时候,给一个数组添加一个数组单元时候可以有两种方式:
1.
$arr = array();
$arr[] = '';
2.
$arr = array();
array_push($arr,'');
刚做一个100000次的循环插入,结果还是第一种要快一些!(循环插入数字,100000次,第一种0.04左右,第二种0.08秒左右) ......

php的Login

login。php听说要用个第三方页面来实现跳转。说是为了安全方面的考虑。我再想想吧~
先把代码贴出来
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta h ......

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号