相信Zend Framework對于很多人都有借鑒意義(即使你不支持MVC),我打算花點業余時間把Zend Framework的手冊翻譯過來。應該對新手,老手都有點用

翻譯的路線是按我自己的的興趣來安排的呵呵,ZF提供的那些類庫,不一定會全部一一說明,因為我覺得大家可能都有自己的類庫,不一定要用ZF的。主要還是看看它的框架。
目前打算在這個版塊和我的Blog上同步更新,等全部完成后,打包成chm文檔提供下載。
如果誰有興趣參與,非常歡迎,請與我聯系
msn & email:haohappy at msn.com (at->@)
第一章. Zend
目錄
1.1. 簡介
1.2. Zend::loadFile()
1.3. Zend::loadClass()
1.4. Zend::loadInterface()
1.5. Zend::isReadable()
1.6. Zend::dump()
1.7. Zend::register()
1.8. Zend::registry()
1.1.簡介
Zend類是Zend Framework的基類,之所以有這個類是為了使Zend Framework遵循DRY原則(Don't Repeat Yourself)。這個類只包含靜態方法,這些類方法具有Zend Framework中的很多組件都需要的功能。
1.2. Zend::loadFile()
Zend::loadFile()用來包含PHP文件。它其實是將PHP的include()函數封裝而成的一個靜態方法。當包含文件失敗時,會拋出異常(Zend_Exception,見后面--Haohappy注)。
1
loadFile($filename,?$dirs=null,?$once=false)?
2
????
3
參數:?文件,目錄(路徑),是否只包含一次? $filename參數指定需要加載的文件,注意$filename不需要指定任何路徑,只需要文件名即可。ZF會對文件作安全性檢查。$filename只能由字母,數字,連接符-,下劃線_及英文句號.組成(半角)。$dir則不限,可以使用中文等。
$dirs參數用來指定文件所在目錄,如果為空,則程序將會到系統的include_path下尋找文件是否存在(include_path可在php.ini中設置--Haohappy注)
$once參數為布爾類型,只能是true或false,兩者區別就和include()和include_once()的區別一樣。
1.3. Zend::loadClass()
Zend::loadClass()用來加載一個PHP類文件,這個文件的文件名必須和文件中的類同名。loadClass()會檢查文件中的類是否存在。如果文件中的類不存在,那么就會拋出一個Zend_Exception異常。
(例:TestClass.php中有個類TestClass,使用Zend::loadClass("TestClass")就可加載這個類,這種作法類似于Java-- Haohappy注)
1
loadClass($class,?$dirs)?
2
參數:?類,目錄 如果沒有指定$dirs參數,而文件名中存在下劃線,那么loadClass()會自動把下劃線當成目錄分隔符,去相應的目錄中去查找文件。
例如:loadClass("Zend_Example_Class") 沒指定$dirs參數 ,則 loadClass()會自動到Zend/Example/目錄下去查找Class.php文件
1.4. Zend::loadInterface()
Zend::loadInterface()和Zend::loadClass()的用法是一樣的,區別在于loadInterface()是用來加載接口。Zend::loadClass() 不能用來加載接口,因為PHP函數class_exists()不能檢查Interface是否存在(PHP 5.0.2之前版本),所以需要用Zend::loadInterface()來代替。
1
loadInterface($interface,?$dirs) 同樣,如果你沒有指定目錄,但是文件中含有下劃線_,Zend::loadInterface()也會自動到相應目錄去尋找文件,這和Zend::loadClass()是一樣的。
1.5. Zend::isReadable()
判定某個文件是否可讀,可讀則返回true,否則返回false。
1
isReadable($filename) 這個方法是將PHP函數is_readable()封裝而成的, is_readable()不會自動查找include_path下的文件,而Zend::isReadable()可以。
1.6. Zend::dump()
Zend::dump()打印和返回某個表達式或變量的信息。它是將var_dump()封裝而成的。它默認帶上了
(X)HTML的<pre>標簽,使輸出更美觀。
1
dump($var,?$label=null,?$echo=true) $label標簽參數是用來加在輸出信息之前的一段文本。
(這非常有用,例如你一次要查看多個變量的信息,你可以為不同變量設置不同label,如“user”,“password”等等,這樣不會弄亂--Haohappy注)dump()總會返回信息,但不一定會輸出,這取決于$echo參數,指定是否要將信息輸出到屏幕。
1.7. Zend::register()
注冊一個對象
1
register($name,?$object) ZendFramework的"注冊表"是一個提供單件對象(singleton instances)給應用程序的機制. 通過注冊一個對象,你可以在你需要時再取得這個對象.
$name是對象名稱,指定后你可以通過$name來訪問這個對象.
$name參數必須是一個字符串。在注冊庫中只能存儲對象,對象將不會被刪除,而一個對象只能有一個實例。 如果不符合這幾個條件,就會拋出一個Zend_Exception異常。
1.8. Zend::registry()
在“對象注冊表”中返回一個對象,或者列出所有已經注冊的對象
1
registry($name=null) 如果$name參數為空,會返回一個數組,key為對象名稱,value為對象的類名稱。
如果$name參數為字符串,將返回相應的對象。如果對象不存在,拋出Zend_Exception異常。