一、透过 SVN,看到 qiang 最近时间都在做 Gii。不知 Gii 是不是就是 shell 的 GUI 版本,如果是的话,是不是意义不是很大呢?毕竟生成模型或者 crud 也好,操作量都不是很大。
二、ORM 这一块,为什么不学 sf 一样,用现成的,比如 doctrine等。是因为有些特殊功能不好实现吗?如果用现成的 ORM,可以节约大量的时间做其他的。比如 Tree 等插件。
一、透过 SVN,看到 qiang 最近时间都在做 Gii。不知 Gii 是不是就是 shell 的 GUI 版本,如果是的话,是不是意义不是很大呢?毕竟生成模型或者 crud 也好,操作量都不是很大。
二、ORM 这一块,为什么不学 sf 一样,用现成的,比如 doctrine等。是因为有些特殊功能不好实现吗?如果用现成的 ORM,可以节约大量的时间做其他的。比如 Tree 等插件。
gii的工作已经完成了。它的确就是shell的GUI版。之所以开发这个东西,出于几个原因:
gii本身是个完整的module开发范例。所以花力气开发它有demo的含义在里面。
gii的一个主要设计目标是可扩展性,让用户可以非常容易的更改代码模板,从而创建符合自己需要的代码;
框架的一个用途是减少重复代码,提高开发速度。所以代码自动生成是一个很重要的功能。我最近开发完成的一个典型的双语网站有90多个controller, 将近500个view,20多万行源代码。如果不借助代码生成工具,工作量将极其庞大。
我们着重的是框架的核心功能。类似tree之类的插件属于附加功能,不是我们的开发重点。
你可以在yii里使用doctrine (有人已经用成功你了),但是让框架完全建立在一个第三方的ORM基础上是很危险的,毕竟ORM是框架的一块核心内容(属于MVC里的M)。
多谢 qiang 的回复。tks
我也觉得弄cli是个比较费神的活~ 还不如把内核做得更好,或者花时间做下一个for php5.3版本的~
另外,gii我觉得放到framework也不太好,这样无疑增大了框架包的size~,建议可以做成一个官方扩展,提供下载使用~
gii 不仅仅是一个案例,它提高了开发效率。
期更强的yii admin modules