日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > php >内容正文

php

php加载autoload,php自动加载类__autoload()的方法_PHP教程

發(fā)布時(shí)間:2025/3/11 php 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php加载autoload,php自动加载类__autoload()的方法_PHP教程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文章來(lái)給大家簡(jiǎn)單的介紹一下關(guān)于php自動(dòng)加載類__autoload()的方法,希望此方法對(duì)各位同學(xué)會(huì)有所幫助哦。

作用:當(dāng)在程序中需要實(shí)例化一個(gè)類,剛好這這類又不是在本文件中,則需要用包含函數(shù)將外部文件包含進(jìn)來(lái)。但是,當(dāng)要用的外部類很多后,就會(huì)發(fā)現(xiàn)用包含函數(shù)會(huì)顯得十分的繁瑣,這是就可以用__autoload()全局函數(shù)自動(dòng)加載類。

當(dāng)在index.php中要使用前面三個(gè)類時(shí),就需要寫三個(gè)例如include("name.class.php") 這樣的方法,效率會(huì)十分低,但如果使用了__autoload()函數(shù)就不用這樣麻煩了,只需要寫這樣一個(gè)函數(shù)方法就可以了:

在 PHP 5 中,不再需要這樣了。可以定義一個(gè) __autoload() 函數(shù),它會(huì)在試圖使用尚未被定義的類時(shí)自動(dòng)調(diào)用。通過(guò)調(diào)用此函數(shù),腳本引擎在 PHP 出錯(cuò)失敗前有了最后一個(gè)機(jī)會(huì)加載所需的類。

在下例中將通過(guò)實(shí)例來(lái)說(shuō)明 __autoload() 是如何使用的。

首先定義一個(gè)類ClassA,文件名為ClassA.class.php

代碼如下

復(fù)制代碼

class ClassA{

public function funa(){

echo "classA loaded successfully!

";

}

}

然后在相同目錄下再定義另一個(gè)類ClassB,文件名為ClassB.class.php,ClassB繼承ClassA

代碼如下

復(fù)制代碼

class ClassB extends ClassA {

public function funb(){

echo "classB also loaded successfully!

";

}

}

最后在與上面兩個(gè)文件相同目錄下再定義一個(gè)autoload.php(這個(gè)文件名隨便取)

代碼如下

復(fù)制代碼

function __autoload($class_name) {

require_once ("./".ucfirst($class_name).'.class.php');//ucfirst使類名首字母轉(zhuǎn)換為大寫

}

$obj = new ClassB();

$obj->funa();

$obj->funb();

?>

運(yùn)行autoload.php的程序,看結(jié)果:

classA loaded successfully!

classB also loaded successfully!

例子: 文件夾下有這樣幾個(gè)文件:

User.class.php;

Person.class.php;

Message.class.php;

index.php;

我們就可以這樣操作

代碼如下

復(fù)制代碼

index.php

function __autoload($className){ //ucfirst() 將字符串首字母變?yōu)榇髮?/p>

include("ucfirst($className)".class.".php"); }

/**************

*例如:在index.php文件中實(shí)例化User.class.php中的User類,如果不存在則自動(dòng)調(diào)用__autoload()函數(shù)

代碼如下

復(fù)制代碼

*,將類名User作為參數(shù)傳入

*************/

$user=new User();

//通過(guò)自動(dòng)加載類調(diào)用User.class.php文件

$person=new Person();

//通過(guò)自動(dòng)加載類調(diào)用Person.class.php文件

$Message=new Message();

//通過(guò)自動(dòng)加載類調(diào)用Message.classphp文件 function="" message="new" person="new" user="new">

http://www.bkjia.com/PHPjc/632689.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/632689.htmlTechArticle本文章來(lái)給大家簡(jiǎn)單的介紹一下關(guān)于php自動(dòng)加載類__autoload()的方法,希望此方法對(duì)各位同學(xué)會(huì)有所幫助哦。 作用:當(dāng)在程序中需要實(shí)例化一...

總結(jié)

以上是生活随笔為你收集整理的php加载autoload,php自动加载类__autoload()的方法_PHP教程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。