- 浏览: 551398 次
- 性别:
最新评论
-
getdate:
请问楼主,<property name="co ...
Spring多数据源配置 -
xiaoboo:
...
Yii Framework 开发教程(34) Zii组件-AutoComplete示例 -
m635674608:
这东西一点都不要用,,,还要修改字节码,很麻烦
Spring多数据源配置 -
m635674608:
这东西一点都不要用,,,还要修改字节码,很麻烦
Spring多数据源配置 -
haohao-xuexi02:
...
做有中国特色的程序员
文章列表
在CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord我们通过SchemaExploer为Yii Framework从数据库生成简单的ActiveRecord类,没有考虑到表和表之间的关系。本例我们使用CodeSmith为Yii Framework创建一个通用的代码模板,可以使用上例介绍的SchemaExploer,不过在查看CodeSmith自带的例子中有个生成Hibernate的例子,这个模板的使用可以参见CodeSmith 使用教程(1): 概述,CodeSmith提供了这个模板的源码,使用到了CodeSmith.SchemaHelper (C ...
- 2013-02-03 11:51
- 浏览 881
- 评论(0)
在前面例子CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord我们使用了SchemaExplorer 来获取数据的MetaData(数据库Schema 定义)来自动生成Yii Framework的数据库表对应的ActiveRecord定义,本篇较详细的介绍一下的SchemaExplorer的用法,下一篇通过实例除了自动生成自动生成Yii Framework的数据库表对应的ActiveRecord定义外,还自动生成关联ActiveRecord的关系定义,也就是根据数据库表之间的关系(一对多,一对一,多对多)为ActiveRecord定义relation ...
- 2013-02-01 08:34
- 浏览 621
- 评论(0)
我们知道Biztalk为 定义Schema之间的映射提供了多种多样的Functoid,可以符合大部分映射的需求,尽管如此还是有些情况Biztalk自带的Functoid 不能完成所需要的映射,一个方法是通过扩展Functoid来实现,另外一个可以通过Script Function通 ...
- 2013-01-28 21:47
- 浏览 574
- 评论(0)
编写CodeSmith模板和编写程序一样,也需要进行调试,CodeSmith支持使用CLR’s Just-in-Time debugger调试模板。
要调试模板,首先要在CodeTemplate声明中打开调试Debug=”True”:
<%@ CodeTemplate Language="C#" TargetLanguage="C#" Debu ...
- 2013-01-23 06:59
- 浏览 1883
- 评论(0)
在前面的教程CodeSmith 使用教程(3): 自动生成Yii Framework ActiveRecord我们使用了主,从模板来实现了从数据库为Yii Framework生成多个表的ActiveRecord类定义,中CodeSmith项目中通过主模板和从模板的配合可以实现复杂的代码生成过程,主模板和从模板的关系有点类似主程序和子函数的关系。使用主-从模板的基本步骤如下:
定义从模板,从模板可以定义属性
定义主模板,中主模板中如果要使用从模板,首先需要在主模板中注册从模板,主模板中也也可以定义属性,主模板和从模板中的属性可以通过定义“合并”模式构造最终模板所定义的属性集合。
调用主模板,设置 ...
- 2013-01-18 08:30
- 浏览 589
- 评论(0)
在CodeSmith模板中可以引用.Net 类库,和普通的.Net 项目不同的是,对.Net 库的引用不是通过项目的Add reference 来实现,而是通过在代码模板中指明所要引用的Assembly.
比如引用CodeSmith自带的CodeSmith.CustomProperties.dll ,可以使用如下语句:
<%@ Assembly Name="CodeSmith.CustomProperties" %>
Name指明所有需要引用的Assembly的名称,也可以使用Assembly的全名,比如ExampleAssembly, Version=0. ...
- 2013-01-17 08:50
- 浏览 886
- 评论(0)
通过CodeTemplateInfo对象可以获取代码模板文件本身的一些信息,比如文件名,源语言,编码方法,其支持的属性有:
属性名
描述
CodeBehind
该模板的Code-behind的文件名或者模板不使用CodeBehind时为空字符串.
ContentHashCode
- 2013-01-16 08:26
- 浏览 712
- 评论(0)
使用Progress对象可以为CodeSmith生成代码的过程显示一个进度条,这对于生成比较费时的模板操作是非常有用的,如果你使用Visual Studio,可以在状态栏中显示一进度条:
使用进度条的方法是通过CodeTemplate对象的Progress属性对象,首先是设置Progress对象的最大值和步长,本例通过一个简单的循环来模拟一个费时的操作:
- 2013-01-15 08:17
- 浏览 695
- 评论(0)
在使用代码模板产生代码时,CodeSmith引擎背后使用了不少对象来帮助代码的生成,其中常用的有
CodeTempate (类似于Asp.Net的Page类)
Progress 用于显示代码生成的进度
CodeTemplateInfo 可以返回关于当前模板自身的一些信息。
本篇介绍CodeTemplate ,CodeTemplate代表了由CodeSmith引擎处理的代码模板对象,可以通过CodeTemplate对象直接和CodeSmith引擎交互,比如:
使用
- 2013-01-14 10:25
- 浏览 805
- 评论(0)
由于CodeSmith的代码模板使用了和Asp.Net类似的语法,因此如果要使用CodeSmith 模板生成Asp.Net脚本时比如“<%” 就碰到了问题, <% 会被CodeSmith解释成CodeSmith自己的标记,因此需要使用转义标签来代替需要插入到Asp.Net代码中的标签。具体方法是使用 <%% 来替换需要生成的Asp.Net中的 <%标记。比如我们要生成如下的Asp.Net代码:
<asp:FormView ID="FormView1" DataSourceID="SqlDataSource1" DataKey ...
- 2013-01-13 11:41
- 浏览 689
- 评论(0)
CodeSmith的核心是模板,而使模板具有活力的就是属性,通过定义属性从而使代码模板能够根据配置生成所需的代码。在使用代码模板时首先也必须给模板定义的属性定义值才能使用CodeSmith通过模板产生代码。有些属性具有缺省值 ...
- 2013-01-11 08:26
- 浏览 1271
- 评论(0)
到目前为止,基本介绍了开发Yii 应用的基本知识,其它更进一步的如扩展Yii框架,调用第三方库(如Zend库),错误处理,安全,性能调试可以参考Yii文档(建议参考英文版,中文版翻译得有点怪怪的,很像机器翻译的),以后有时间在写进阶开发指南。
为方便起见,给出所有开发指南链接如下:
Yii Framework 开发教程(1) 第一个应用Hello World
Yii Framework 开发教程(2) Yii Web应用基础
- 2013-01-10 08:30
- 浏览 1541
- 评论(0)
到目前为止,基本介绍了开发Yii 应用的基本知识,其它更进一步的如扩展Yii框架,调用第三方库(如Zend库),错误处理,安全,性能调试可以参考Yii文档(建议参考英文版,中文版翻译得有点怪怪的,很像机器翻译的),以后有时间在写进阶开发指南。
为方便起见,给出所有开发指南链接如下:
Yii Framework 开发教程(1) 第一个应用Hello World
Yii Framework 开发教程(2) Yii Web应用基础
- 2013-01-10 08:30
- 浏览 425
- 评论(0)
本例通过Yii Framework 开发教程(11) UI 组件 ActiveForm示例添加中文支持简要说明一下多国语言支持。详细文档可可以参考Yii文档。
信息翻译是通过调用Yii::t()实现的。此方法会将信息从源语言翻译为目标语言。
- 2013-01-10 08:28
- 浏览 943
- 评论(0)
Theming是一个在Web应用程序里定制网页外观的系统方式。通过采用一个新的主题,可以非常方便的改变应用的外观。
在Yii,每个主题由一个目录代表,包含view文件,layout文件和相关的资源文件,如图片, CSS文件, JavaScript文件等 ...
- 2013-01-09 08:07
- 浏览 1793
- 评论(0)