2010-03-30 24 views
0

我正在寫一小段軟件去瀏覽所有傳入的php項目的文件夾和文件,並檢測它們中的任何一個實際上是否也是一個Zend項目。是否有任何特定的文件可以立即閱讀並告訴當前項目是Zend項目?還是有任何方便的方法來說明?如何知道一個PHP項目是使用Zend框架?

回答

1

alt text http://i39.tinypic.com/2i0b0yg.png

這是當你啓動一個項目,ZF爲您創建的默認目錄結構。所以如果你只是看目錄結構,這應該工作。

另外,你可以看看目錄是否有一個名爲.zfproject.xml的隱藏文件。

我希望有幫助!

+0

謝謝托馬斯。你能告訴我.zfproject.xml的位置究竟在哪裏嗎?再次感謝。 – 2010-03-30 03:48:46

+0

同樣,「.zfproject.xml」是否必須在任何zend框架中? – 2010-03-30 09:00:09

+0

.zfproject.xml位於項目的根目錄中。因此,在上述示例中,它與應用程序,文檔和庫目錄位於同一級別。每當使用ZF的工具創建項目時,都會自動創建該文件。我想可以在不使用工具的情況下使用ZF,但我從來沒有見過它。另外,庫目錄通常會包含一個名爲'Zend'的目錄。我會說,有了這兩個標準,你就可以抓住Zend項目的99%。然而,總有一個機會,有人會使用自定義設置和...祝你好運 – Thomas 2010-03-30 11:49:59

5

我不認爲上述答案朝着正確的方向前進。首先,

Zend框架通常被稱爲 「組件庫」,因爲它有 可以使用更多或更少的 獨立 許多鬆散耦合的組件。

假設標準的使用將包括建議的MVC結構和zftool項目的創建是一個壞的假設,因爲許多項目精心選擇的Zend組件的子集,以儘量減少現在45MB類足跡。

相反,讓我們看看一個點托馬斯暗示在他的回答以上:

此外,庫目錄將 通常包含一個名爲 「Zend的目錄。

現在從Zend的程序員參考指南:

Zend框架標準化一類 命名約定,從而 類的名稱直接映射到 目錄中存儲它們。 根級目錄...是 「的Zend /」目錄...所有的Zend框架 類分層在這些根目錄 ..

類名稱可能只包含 字母數字字符存儲 。在類名中允許使用數字 ,但在大多數情況下不鼓勵使用 。下劃線 只允許代替 路徑分隔符;文件名 「Zend/Db/Table.php」必須映射到 類名稱「Zend_Db_Table」。

重要提示:代碼必須部署 旁邊的Zend Framework庫,但 不是標準或額外 庫的一部分(例如應用程序代碼或 未由 Zend分發的庫)絕不能以「Zend_」或 「ZendX_」開頭。

Source: Naming Conventions

更好的建議將是檢查的根目錄「/ Zend的,然而,這不包括在其中開發人員已決定放棄上述建議,並已拋出的Zend類文件釋放到其他任何項目全球圖書館目錄。

最好的猜測是遞歸地遍歷項目目錄中的所有文件,尋找與建議的僞命名空間(Zend_ ...)匹配的類名。

+0

@Yenta謝謝你的詳細解釋。這真是一個非常好的答案。 – 2010-03-31 03:22:22