中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中類加載的示例分析

發布時間:2021-03-02 09:54:30 來源:億速云 閱讀:126 作者:清風 欄目:編程語言

這篇“PHP中類加載的示例分析”文章,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要參考一下,對于“PHP中類加載的示例分析”,小編整理了以下知識點,請大家跟著小編的步伐一步一步的慢慢理解,接下來就讓我們進入主題吧。

php有什么用

php是一個嵌套的縮寫名稱,是英文超級文本預處理語言,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

類的訪問方式有兩種:

  • 通過實例化對象訪問

  • 類成員訪問

而訪問的前提便是內存中有類的存在,所以需要提前將類加載至內存中。

1.手動加載

//類文件 Salary.php
<?php
   class Salary{
      public  function Student(){
        echo "Salary下面的Student方法";
      }
   }
?>
應用文件:useSalary.php
<?php
//$s = new Salary();會報錯,因為useSalaty.php中間未定義Salary類

include_once 'Salary.php';				//也可以使用require,通常使用_once,因為類不允許重名
$s = new Salary();
echo $s->Student();
?>
<?php
//加載類文件是一種比較消耗資源的方式,可以事先使用class_exists()函數來判定類是否存在,存在就不用加載,不存在才加載
if(!class_exists('Salary')){
	//不存在:加載
    include_once 'Salary.php';
}
//使用
$s = new Salary();
?>

2.自動加載

  •   在PHP7之前使用的自動加載機制:利用系統提供的__autoload()函數,然后當系統需要使用類,而內存中又不存在的時候,系統就會自動調用__autoload()函數來加載類文件。

<?php
function __autoload($classname){	//參數為類名:即當前需要訪問的類的名字
//需要人為定義去哪加載,怎么加載   
    include_once $classname . '.php';	//假定為當前目錄下,類文件名字為:類名.php
}

//使用類:內存目前并沒有
$s = new Salary();	//系統發現內存沒有Salary,所以調用__autoload()去加載
?>
//若在不同路徑下
<?php
//定義自動加載
function __autoload($classname){
    $abc_file = 'abc/' . $classname . '.php';		//如abc/Salary.php
    if(file_exists($c_file)){                      //利用file_exists()判斷文件是否存在
        include_once $abc_file;
    }
}
?>
  • 在PHP7后,不建議使用__autoload()函數,而是使用一種注冊機制,將用戶自定義的函數,放到系統內部,使用spl_autoload_register(定義好的函數)。

<?php
function myself_autoload($classname){		//與__autoload()類似
    $abc_file = 'abc/' . $classname . '.php';		//如abc/Salary.php
    if(file_exists($c_file)){
        include_once $c_file;
    }
}
//此時,上述函數永遠不會自動運行,除非將函數注冊到系統內部
spl_autoload_register('myself_autoload');
?>
//可以定義多個方法
<?php
function wayone_autoload($classname){		
   
function waytwo_autoload($classname){		
    
}
//此時,上述函數永遠不會自動運行,除非將函數注冊到系統內部
spl_autoload_register('wayone_autoload');
spl_autoload_register('waytwo_autoload');
?>

以上是“PHP中類加載的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

海口市| 扎囊县| 南靖县| 海安县| 游戏| 凤翔县| 庐江县| 永德县| 庆安县| 临高县| 永丰县| 南通市| 海南省| 乡城县| 景洪市| 固安县| 利津县| 晋中市| 文登市| 中山市| 兴义市| 文安县| 资溪县| 海安县| 始兴县| 淄博市| 乐陵市| 土默特右旗| 平罗县| 兰西县| 葫芦岛市| 永泰县| 酒泉市| 文山县| 闵行区| 积石山| 垦利县| 镇沅| 余干县| 墨脱县| 方正县|