我必須將應用程序從Zend Framework 1.12.0遷移到版本2.似乎有no migration guides yet。我已經研究過ZF2編碼約定,並且我採用了依賴注入(Zend \ Di)和PHP 5.3命名空間。我的目標是將我的ZF1應用程序重構爲ZF2模塊。從Zend Framework 1逐步遷移到2
問題:是否有可能進行一步一步與至少部分運行的應用程序的每一步後避免巨大的重構步驟?如果是,那麼步驟是什麼?
這裏是我這樣的一步一步遷移的想法,但如果我最終每個步驟之後,運行的應用程序,我不知道:
- 開始通過設置ZF2 Skeleton Application
- Set up a new module(MyApp)並將我的ZF1應用程序的內容重新組織到MyApp模塊文件夾結構中。然後設置非常基本的配置和引導,並通過從ZF2 AbstractActionController擴展它來遷移IndexController。模型(Zend_Db)和視圖(Zend_View)將在稍後進行遷移。這裏的目標是有一個工作的IndexController :: indexAction,它沒有很多的依賴關係。
- 設置更多配置和引導(路由,翻譯,語言環境,緩存,Db,Acl,ViewHelpers等)。我想先設置這些組件的ZF1版本,然後逐一遷移它們。
- 遷移其他控制器,並使用Zend \ Di或using the ServiceManager設置依賴注入到控制器。
- 通過使舊的phing腳本與新的目錄結構一起工作來設置自動部署。
- 將視圖(包括助手)和表單遷移到ZF2。
- 遷移模型(從Zend_Db到ZF2 Zend \ Db或到Doctrine)。
- 逐個遷移其他ZF1組件(Translate,Locale,Cache,Acl,...)。
- 重構康復和長假。
但是,只有當某些ZF2組件與ZF1組件一起工作時,每一步之後我都會有一個workin應用程序。我不知道它是否是例如使用ZF2控制器可以使用ZF1視圖(和視圖助手)。
您實際上可以將ZF1和ZF2並排工作,因此可以使用更小的步驟。最大的問題是重新組織你自己的項目。我認爲一個ZF1 App USUALLY不止是一個模塊。你幾乎對你有一個很好的理解,你的出發點是好的。遷移是一件棘手的事情,通常最終會重構幾乎所有的東西:P – Sam
將ZF2視爲您想要遷移到的全新新框架。我敢打賭,你需要重寫整個你的應用程序... – shadyyx
不要以爲你會找到一個移民指南。我認爲你將不得不重寫你的ZF2應用程序 – Andreas