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