php __autoload() 函数的使用
php5 面向对象比面向过程当然要强大的多,但是不能和JAVA ,C#等媲美,
JAVA ,C#里只要写好了类,放在批定的文件夹下,就可以直接访问,
php里有没有这样的功能呢,
答案是肯定的-----"没有",
那么php 要使用写好的类文件一定要include过来了?
呵呵,当然了,php 虽然没有JAVA那样的好用,但是PHP提供了一个函数
"__autoload()"
"__"是两个"_"哦,不要写错了,
autoload函数有什么用呢,
看下面的实例
写好了一个msyql类,
mysql.php
class mysql{
funciton __construct(){
............
}
}
现在我在index.php页面要用到mysql 类,我就这样,
function __authload($class){
include_once("path".$class.".php");
}
$mysql=new mysql();
?>
不知道各位能不能看懂?
autoload函数从字面上说就是自动加载类函数,
当你new 一个类的时候,它就自动调用,并把类名传给他作为参数.
如我上面写的那个
include_once("path/".$class.".php");
path/ 是类文件所在路径
$class 就是调用时的类名啦
后面的.php 当然是扩展名啦,
一个类文件可能感觉不到有多好用,如果类文件很多的时候,
每个类都要include一下,那太麻烦了,只要每个页面之前写一个 __autoload() 即可,
是不是很方便啊?
JAVA ,C#里只要写好了类,放在批定的文件夹下,就可以直接访问,
php里有没有这样的功能呢,
答案是肯定的-----"没有",
那么php 要使用写好的类文件一定要include过来了?
呵呵,当然了,php 虽然没有JAVA那样的好用,但是PHP提供了一个函数
"__autoload()"
"__"是两个"_"哦,不要写错了,
autoload函数有什么用呢,
看下面的实例
写好了一个msyql类,
mysql.php
class mysql{
funciton __construct(){
............
}
}
现在我在index.php页面要用到mysql 类,我就这样,
function __authload($class){
include_once("path".$class.".php");
}
$mysql=new mysql();
?>
不知道各位能不能看懂?
autoload函数从字面上说就是自动加载类函数,
当你new 一个类的时候,它就自动调用,并把类名传给他作为参数.
如我上面写的那个
include_once("path/".$class.".php");
path/ 是类文件所在路径
$class 就是调用时的类名啦
后面的.php 当然是扩展名啦,
一个类文件可能感觉不到有多好用,如果类文件很多的时候,
每个类都要include一下,那太麻烦了,只要每个页面之前写一个 __autoload() 即可,
是不是很方便啊?
posted on 2011-07-11 15:01 cn三少<script></script> 阅读(205) 评论(0) 编辑 收藏 举报