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

溫馨提示×

溫馨提示×

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

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

Zend Framework中怎么利用Zend_Loader組件動態加載文件

發布時間:2021-06-23 15:47:44 來源:億速云 閱讀:113 作者:Leah 欄目:開發技術

Zend Framework中怎么利用Zend_Loader組件動態加載文件,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

加載文件

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

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

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

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

示例:

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

<?php
echo "Hello World!";
?>

主程序:

<?php
require_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()方法則可以。

示例:

<?php
require_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指定的目錄下進行查找。

示例:

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

結果:

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

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

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

AI

南雄市| 潞西市| 江山市| 江陵县| 富源县| 齐河县| 包头市| 高陵县| 中牟县| 银川市| 陆川县| 南和县| 怀远县| 荣昌县| 乌拉特后旗| 普格县| 黄陵县| 武清区| 响水县| 樟树市| 越西县| 沅陵县| 宜宾县| 淮滨县| 丽水市| 尼勒克县| 曲阳县| 滦平县| 平罗县| 开阳县| 济宁市| 关岭| 信宜市| 冀州市| 金堂县| 和顺县| 天全县| 玉龙| 图们市| 陵川县| 青海省|