Caringen是一個Eric Feminella自己開發的一個小工具. 現在他把這個工具共享出來.
Cairngen并不能讓所有的人解決所有的問題, 它只是簡單地加快開發的過程.
Cairngen是一個Caringorm的代碼生成器, 它使得開發者可以很方便地生成Cairngorm項目的結構框架, 包括: Cairngorm項目的目錄結構, 一個缺省的ModelLocator, Controller, ServiceLocator. Cairngen也可以生成Event, Command, Delegate類.
Cairngen使用Flex2和PHP5.2.0開發, 利用了AMFPHP. 安裝過程十分方便. 你可以在Flex Builder的瀏覽器中直接運行Cairngen來快速方便地生成Cairngorm的類.
Cairngen使用'步驟(Sequence)'來描述Event, Command, Delegate類之間的關系.
在Cairngen中只要命名一個'步驟',點擊一下生成按鈕就可以生成一個'步驟'. 然后刷新一下Flex項目, 生成的類就OK了. 在一些特殊的情況下, 你不希望添加Delegate類, 那么你可以選擇排除Delegate類的生成, 這樣的話, Cairngen只生成Event和Command.
生成的Command類實現Cairngorm的Command接口, 但不實現IResponder接口. Cairngen還能夠正確地將事件強制性轉化(casting)為Coand中的類型, 并import所有相關的類.
系統需求:
1. 了解AMFPHP, Apache2.0.59和PHP5.2.0, 在使用Cairngen之前要求先安裝AMFPHP, 而且gateway.php的訪問虛擬目錄應該如下設置: http://localhost/amfphp/gateway.php. 在1.0版正式發布后, 這個URL可以自由配置.
2. 還需要安裝Flex2, PHP, 你可以用WAMP5來集成安裝Apache5.5和PHP. 安裝好PHP和AMFPHP后, 就可以解壓縮Cairngen Alpha 1. 把services目錄復制到amfphp的根目錄下. 然后復制cairgen-ui目錄到apache的www根目錄下.
使用:
安裝好PHP和AMFPHP后, 就可以開始使用Cairngen了. 打開瀏覽器輸入http://localhost/cairngen-ui/Cairngen.html打開生成器的圖形界面. 創建Cairgen項目:
點擊 begin
給你的Cairngen項目命名. 這個名稱與Flex項目的名稱相同, 選擇你的Cairngorm的版本, 選擇Flex項目的路徑. 設置項目中包路徑(比如: com.domain.projectname). 最后, 檢驗一下輸入內容, 點擊"Create Project". 刷新Flex項目查看缺省的Cairngorm項目結構, ModelLocator, Service和Controller類.
創建"步驟":
首先是給步驟命名, 然后選擇是否要生成Delegate類, 點擊生成, 并刷新Flex項目. 可以發現需要的類已經生成完畢了. 現在需要把它們添加到Controller中.
接下來編輯模板文件: 你可以修改模板文件(.tpl)來實現你的特定的Cairngorm需求; 模板文件在 amfphp\services\com\ericfeminella\cairngen\templates目錄下.
生成器下載地址: http://code.ericfeminella.com/cairngen/Cairngen%20Alpha%201%20PreRelease.zip