易截截图软件、单文件、免安装、纯绿色、仅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 ......

jquery php ajax json

just get a json
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<mce:script src="jquery-1.3.2.min.js" mce_src="jq ......

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中的字符串连接

// 定义一个新变量
$test = "hello";
//  .  字符串连接符
echo $test.".world"     // hello.world
 echo "$test.world"     // "" 中的变量将被解析成相应的值
             &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号