2009-06-19 55 views
5

我是Zend Framework的新手。學習Zend Framework 1.8時遇到的困難

我下載了Zend Framework,然後按照官方快速入門教程構建了一個非常簡單的註冊表單。但是在那之後,我發現很難學習Zend Framework的不同元素。

很多教程在bootstrap文件中提到了frontController和registerAutoload()。但是,似乎我無法再在1.8版的代碼中看到它(在official quickstart tutorialGetting Started with Zend Framework 1.8中都有)。許多教程包含舊版本的代碼,它在v1.8中看起來非常不同。

我開始用寫密碼確認註冊表單。我閱讀了官方文件並找到了custom validator for password confirmation。它只是把課堂放在那裏,並沒有提到我如何使用它。我不知道我應該把這個文件放在哪裏,我在Google找不到任何提示。 「未找到類」錯誤總是讓我感到噁心(我試過addPrefixElement,set_include_path但它們不起作用)。

用戶註冊,電子郵件激活,登錄,訪問控制是非常常見的任務。但是我甚至沒有在v1.8中找到一段可以在我的機器上運行的示例代碼。我對Zend Framework非常沮喪。

有沒有人給我一些建議?

回答

8

我也剛開始學習zend框架。我也覺得老教程,使學習混亂和艱難, 的很多,但也有一些資源,我在學習Zend框架尋求幫助:

一些有用的博客,這可能有助於:

論壇問你的問題:

至於找不到類,我想你沒有自動加載? Zend框架的

4

零件已在1.8版本略有改變,但一切都應該是向後兼容,以便使用1 *發佈系列編寫的所有代碼示例應該仍然很少或根本沒有修改工作。這是不同的主要領域是

  • Zend的裝載機(以register_autoload相關的)現在有(如果你使用的老辦法用PHP警告)相關的性能和它的API中的一些細微的差別了一些改進。我不會擔心太多此類作爲一個初學者 - 只需按照教程或繼續包括/ require語句,直到你成爲惱火將他們所有的時間用!

  • Zend的應用程序,它基本上可以讓你創建你的設置和初始化代碼少做文章。同樣,你不必使用它,你可以愉快地寫手動引導類,讓你使用的框架是如何放在一起。

至於入門我會強烈建議讓你的頭部周圍的Zend控制器組件,尤其是前端控制器部分和this diagram。 爲了驗證一下Zend Auth,電子郵件看到Zend Mail,用於訪問控制見Zend Acl和形式和驗證見Zend FormZend ValidateZend Filter。表單和驗證組件將解釋有關路徑並添加您自己的自定義驗證器和表單元素。

重要性的另一個領域是Zend Db它允許您將數據保存到數據庫中。還有Zend View表示MVC堆棧中的視圖層。在我看來,這些是基本ZF應用程序的關鍵組成部分。從那裏你可以隨時隨地探索其他組件。

不要忘記,Zend Framework專門設計爲鬆散耦合,並且對於特定任務使用另一個項目中的其他組件非常容易。有時候也需要編寫自己的組件。如果您希望使用Zend組件的組件,請繼續操作。

老實說,雖然很難爲初學者導航,但文檔非常好。一旦你瞭解了核心組件,一切都將變得更加清晰。

也可以嘗試以下this tutorial。這將有助於解釋很多基礎知識。

0

我有這麼多的同情與你比利。我是一個新手,舊的方式和新的方式之間的混淆幾乎是無法處理的。還看到這裏的人誰指出一些主要區別:

http://crossfunctional.wordpress.com/2009/05/

0

所有文件,特別是Zend的文件是絕對可怕。這一切都假設你「知道」他們所指代的片段的位置以及他們如何一起工作。如果我已經知道這些事情,我不需要文檔。沒有完整的示例應用程序,您可以下載和修改身份驗證等。我非常遺憾,不得不花時間學習這個框架。我能找到的所有例子顯然都是針對老版本的。我在YouTube上跟隨其中一個進行了身份驗證,這是針對信函設計的1.8。它無法在1.9.x中工作。無法讓它爲我的生活工作。完全沮喪Zend Framework!

2

我推薦這些視頻教程由一個叫做Alex的人來完成,他不斷更新並隨時發佈新的視頻教程,它們都與ZF 1.8和1.9相關。

他甚至詳細的視頻教程覆蓋ACL,登錄表單等。(我與Zend的第一個步驟是容易感謝他!)

http://alex-tech-adventures.com/development/zend-framework.html?start=15 - 他的網站是有點comfusing但值得搞清楚的時候它:)

乾杯 羅馬

0

Zend框架已經從一個比較方便和簡單的系統更復雜的實體轉移。它在過去幾年中經歷了許多快速發展,並留下了大量較舊的文檔。

我們的項目被困在版本1.7.x上,因爲它和最新版本的差別太大,這使得開發和測試時間過於昂貴。

我喜歡Zend Framework,因爲它有如此多的深度,但它絕對是初學者的雙刃劍。

我肯定會推薦使用其他用戶的專業知識,並搜索出一些簡單的框架示例。 ZF 高適應性,但您需要嘗試和儘可能爲您的需求儘可能最簡單的情況下工作。

我覺得馬修緯二路o'Phinney,(搜索「PHLY,男孩,PHLY」)是開發團隊的更平易近人的成員之一,擁有的在他的網站的例子和想法負荷。

祝你好運!

1

一些提示:

這裏是調度過程

http://nethands.de/download/zenddispatch_en.pdf

的一個很好的圖這是很容易理解ZF如果你是在OOP/OOP設計模式經歷

當我第一次遇到ZF時,我對OOP知之甚少。 ZF促使我學習面向對象這是一件非常好的事情。

ZF的「魔力」,實際ZF架構

區分雖然我有ZF類有很好的理解我仍然感到困惑時,ZF增加了它的「魔力」的組合。

當我說「魔力」我指的是類似的東西

  • 加載,如果未指定使用的默認對象,
  • 網址controllername,文件路徑,文件名拐點/命名約定。
  • 配置設置到類的實例映射

ZF是有點像意義上的裂紋經銷商的「入門教程」讓你大呼過癮,立竿見影。他們執行如此多的魔法,它讓你覺得 .oO(哇 - 這是多麼簡單!這個框架很酷!)

然後只要你開始嘗試做你自己的事情 - 魔法開始得到真的很混亂。

所以 - 我的策略是儘可能多的移除ZF魔法。如果您可以選擇指定要使用的類或要使用的路由器,請指定它。不要讓Zend爲你做。

然後,當發生奇怪的事情時,你可以更容易地發現錯誤。另外,如果你指定了類/路徑的位置(相對於讓ZF神奇地變換路徑並找到腳本),那麼你不必擔心'在哪裏放置它? ,在哪裏放? - 你只要把事情放在你想要的地方,並明確指出ZF。

隨着您對ZF更加熟悉,您可能想讓它接管併爲您做一些魔術。只有到那時你才能真正理解爲什麼這個魔法很方便。

正如Tim Wardle在另一個答案中所說 - 贊成在zend loader中需要聲明,直到你真的需要它。

如果您是一家PHP設計公司,每週都會推出10個網站項目,那麼ZF Magic會非常有用。如果你正在設計你的第一個ZF應用程序 - 那麼'減少複雜性'是比'可重用性'更重要的設計目標。

瀏覽代碼

它似乎很明顯,但對了解ZF的最佳方法之一是看代碼。

再次,ZF的魔法可以阻擋 - 我經常想看看方法的參數來發現我需要傳遞的內容,只是發現它期望有一個模糊的'選項數組'(不完全有用)。不過一段時間後,你開始注意到'選項鍵'如何與吸氣/吸氣方法結合的慣例。所以,請繼續關注代碼並熟悉'ZF方式'。

我'打開'elps。

+0

在ZF魔術上寫下我的作品之後,我覺得可能有一種'ZF Magic Info'組件可以'觀察'框架,並且可以在末尾輸出類似'phpinfo()'的東西所以我們可以看到最新的情況。 - 只是一個想法 – 2010-08-23 14:11:03