欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Zend Framework使用Zend_Loader組件動態(tài)加載文件和類用法詳解

 更新時間:2016年12月09日 14:23:06   作者:牛逼的霍嘯林  
這篇文章主要介紹了Zend Framework使用Zend_Loader組件動態(tài)加載文件和類用法,結(jié)合實例形式分析了Zend_Loader組件實現(xiàn)文件自動加載與屬性判斷的相關(guān)使用技巧,需要的朋友可以參考下

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

加載文件

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

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

動態(tài)加載是可以將變量所指代的文件進(jìn)行加載的過程。當(dāng)需要加載的文件為用戶輸入或是某個方法的參數(shù)時,通過傳統(tǒng)的加載方法會很難對文件進(jìn)行加載。

通過動態(tài)加載則可以實現(xiàn)這一過程。

示例:

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

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

主程序:

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

執(zhí)行結(jié)果:

Hello World!

說明文件已經(jīng)被成功的加載進(jìn)來了。

判斷文件屬性

語法格式:

Zend_Loader::isReadable($filename)

如果文件可讀,程序?qū)⒎祷豑rue

該方法是由PHP函數(shù)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下文件不可讀";
}

結(jié)果:

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

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

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

動態(tài)加載類

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

語法:

Zend_Loader::loadClass($class,$dirs)

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

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

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

示例:

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

結(jié)果:

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

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

更多關(guān)于zend相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Zend FrameWork框架入門教程》、《php優(yōu)秀開發(fā)框架總結(jié)》、《Yii框架入門及常用技巧總結(jié)》、《ThinkPHP入門教程》、《php面向?qū)ο蟪绦蛟O(shè)計入門教程》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

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

相關(guān)文章

最新評論