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