国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

Zend Framework使用Zend_Loader組件動態加載文件和類用法詳解

2024-05-04 23:53:31
字體:
來源:轉載
供稿:網友

本文實例講述了Zend Framework使用Zend_Loader組件動態加載文件和類的方法。分享給大家供大家參考,具體如下:

加載文件

Zend_Loader組件可以實現對文件的加載功能,還可以判斷文件是否可讀。

這兩個功能分別由Zend_loader::loadFile()方法與Zend_loader::isReadable()方法來實現。

動態加載是可以將變量所指代的文件進行加載的過程。當需要加載的文件為用戶輸入或是某個方法的參數時,通過傳統的加載方法會很難對文件進行加載。

通過動態加載則可以實現這一過程。

示例:

首先建立被加載的文檔temp.php,該文檔只實現一個簡單的輸出功能,代碼如下。

<?phpecho "Hello World!";?>

主程序:

<?phprequire_once("Zend/Loader.php");$filename = 'temp.php';Zend_Loader::loadFile($filename);

執行結果:

Hello World!

說明文件已經被成功的加載進來了。

判斷文件屬性

語法格式:

Zend_Loader::isReadable($filename)

如果文件可讀,程序將返回True

該方法是由PHP函數is_readable()封裝而成的,但二者還是存在不同之處。is_readable()方法

不會自動查找include_path目錄下的文件,而Zend::isReadable()方法則可以。

示例:

<?phprequire_once("Zend/Loader.php");$filename = 'temp.php';if(Zend_Loader::isReadable($filename)){  echo "文件".$filename."是可讀的!";}else{  echo "文件".$filename."不可讀!";}echo "<p/>";if(is_readable('Zend/Date.php')){  echo "include_path下文件可讀";}else{  echo "include_path下文件不可讀";}echo "<p/>";if(Zend_Loader::isReadable('Zend/Date.php')){  echo "include_path下文件可讀";}else{  echo "include_path下文件不可讀";}

結果:

文件temp.php是可讀的!include_path下文件不可讀include_path下文件可讀

這個例子說明,is_readable()方法不可以判斷include_path文件是否可讀,而Zend_Loader::isReadable()方法可以判斷。include_path文件,指的是php.ini中配置引入的文件。

不僅如此,Zend_Loader還可以進行類的加載。這將在下面進行講解。

動態加載類

Zend_Loader不僅可以動態加載文件,通過其loadClass()方法還可以實現。

語法:

Zend_Loader::loadClass($class,$dirs)

其中,class為指定的類名,class為指定的類名,dirs為包含類的文件所在的路徑及文件名。類名將會根據下劃線對應到相應目錄下的

PHP文件,如Zend_Controller_Action會指向Zend/Controller/Action.php。

如果參數$dirs是一個字符串或數組,則該方法會根據順序查找相應目錄,并加裝第一個匹配的文件。如果文件不存在,該方法還會到include_path指定的目錄下進行查找。

示例:

<?phprequire_once("Zend/Loader.php");Zend_Loader::loadClass('Zend_Date');$date = new Zend_Date();echo $date;

結果:

2013-3-18 下午05:30:16

說明,這段代碼直接到include_path中加載需要的類。然后實例化,輸出即可。

希望本文所述對大家基于Zend Framework框架的PHP程序設計有所幫助。


注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 拉萨市| 长子县| 铜梁县| 阿克陶县| 遂昌县| 霍林郭勒市| 甘孜| 郑州市| 常熟市| 开平市| 大同市| 疏勒县| 钟祥市| 大庆市| 侯马市| 剑阁县| 仁布县| 平江县| 常德市| 阿拉善右旗| 秦皇岛市| 潼关县| 遵化市| 衡南县| 阜南县| 清远市| 华容县| 曲水县| 沙湾县| 平舆县| 深水埗区| 农安县| 莱西市| 宁都县| 河源市| 潞西市| 诸暨市| 喜德县| 林州市| 甘孜| 海兴县|