易截截图软件、单文件、免安装、纯绿色、仅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不包含某字符串的正则表达式


 摘要: 用正则实现包含某个字符串很容易,但如果实现不包含某个字符串呢?作者给出了一个解决方案。
判断一个字符串中是否含有另一字符串,php有很多方法,如下:
1. 常见函数
strstr($str, "abc");  
strstr($str, "abc");
2. 正则匹配
preg_match("/(abc)/is", $str);  
p ......

PHP初学者学习实例

.$dbhost = 'localhost';  
$dbuser = 'root'; //你的mysql用户名  
$dbpass = '123456'; //你的mysql密码  
$dbname = 'data'; //你的mysql库名  
//连接本地数据库
$GLOBALS["conn"] = mysql_connect($dbhost,$dbuser,$dbpass);  
//打开数据库
mysql_select ......

windows2003的IIS+PHP部署体验

php官方网站怎么就没有个详细的在windows上部署的文档呢
我在windows2003上部署php,老是出现404错误
查了google,按照上面说的增加了web扩展也不行
开了目录浏览,根目录下面居然没有index.php和其他的php文件
我人品看来不行了 ......

php 连接数据库 , 插入记录

         $username = "root";
         $password = "123";
         // 建立连接
         mysql_connect('localhost', $username, $p ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号