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