YII2,cakephp,thinkphp对比

_小波_ 2015-06-05 01:09:31
yii2 的Cmodel的验证数据规则非常强大,我非常喜欢....
public function rules() {
return [ ['xxx'],'xxx','message'=>'xxxx' ];
}
但却不喜欢YII2的执行SQL的方法,因为SQL语句基本要写原生的
但我确认喜欢cakephp的数据库的封装的数据库的操作方法,非常好,不需要自己在写原生的SQL,都把原生SQL的语句封装好了
但却不喜欢CAKEPHP的传参都要用多位数组来写...但却喜欢TP的那种连贯写法,但是封装的没CAKEPHP的那么强大
唉....三种框架都有自己的优点的写法和缺点的写法
...全文
415 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
_小波_ 2015-06-08
  • 打赏
  • 举报
回复
引用 11 楼 xuzuning 的回复:
ORDBMS 前一阵子很流行,但由于技术上的不成熟,仅在 Java 重写的 Oracle 中得到部分实现 目前讨论的人要少的多了,可能会进入务实阶段,不得而知 那些所谓连贯操作的数据库封装,就是形式上套用 ORDBMS 的产物 由于并未改变关系型数据库的基础,所以最终还是翻译成立 SQL 指令去执行 见过很多这种封装的讨论,发现他的软肋在关联查询。关联查询是关系型数据库特有的,NoSQL 中并不存在这个概念。鞋不合适,脚怎么能舒服呢 与其每次都写一堆代码(虽然连贯成了一行)去执行一个查询,倒不如直接书写 SQL 指令来的直接 关联查询一般比较灵活、复杂,手工书写也比较困难,但如果疯长的数据库类也不能很好的解决的话,封装就成了鸡肋 好多框架将关联查询处理成巢状数组,这对实际应用并无影响,但并不符合大多数人的认知习惯(毕竟一开始接触的都是关联型数据库,是平面的联系而不是立体的)
照你这么说,封装SQL 都是鸡肋,那我还不如写原生代码算了,何必自讨苦吃去用框架呢
xuzuning 2015-06-08
  • 打赏
  • 举报
回复
ORDBMS 前一阵子很流行,但由于技术上的不成熟,仅在 Java 重写的 Oracle 中得到部分实现 目前讨论的人要少的多了,可能会进入务实阶段,不得而知 那些所谓连贯操作的数据库封装,就是形式上套用 ORDBMS 的产物 由于并未改变关系型数据库的基础,所以最终还是翻译成立 SQL 指令去执行 见过很多这种封装的讨论,发现他的软肋在关联查询。关联查询是关系型数据库特有的,NoSQL 中并不存在这个概念。鞋不合适,脚怎么能舒服呢 与其每次都写一堆代码(虽然连贯成了一行)去执行一个查询,倒不如直接书写 SQL 指令来的直接 关联查询一般比较灵活、复杂,手工书写也比较困难,但如果疯长的数据库类也不能很好的解决的话,封装就成了鸡肋 好多框架将关联查询处理成巢状数组,这对实际应用并无影响,但并不符合大多数人的认知习惯(毕竟一开始接触的都是关联型数据库,是平面的联系而不是立体的)
_小波_ 2015-06-08
  • 打赏
  • 举报
回复
引用 9 楼 xuzuning 的回复:
是否需要连贯操作是有业务决定的 连贯操作就好比流水线,每个操作都是对线上的物件进行一次加工 如果你的业务流程不是这样的,那就没有必要去追求形式上的统一了
一般用框架 都是为了代码规范性进行统一 写原生SQL语句...感觉就有点混乱了.....既然封装了数据操作。。。为何不封装更合理一些..一定要 一些使用原生... 一些使用封装的操作吗? 这个感觉有点坑
xuzuning 2015-06-08
  • 打赏
  • 举报
回复
是否需要连贯操作是有业务决定的 连贯操作就好比流水线,每个操作都是对线上的物件进行一次加工 如果你的业务流程不是这样的,那就没有必要去追求形式上的统一了
_小波_ 2015-06-08
  • 打赏
  • 举报
回复
引用 6 楼 u013303441 的回复:
你所谓的TP连贯写法,yii2也可以啊,好好看看guide和API,yii2相当强大和稳定。
嗯。。知道有,但是yii2查询语句与删除语句可以连贯操作,但是其他就不行
_小波_ 2015-06-08
  • 打赏
  • 举报
回复
引用 5 楼 u013303441 的回复:
楼主,yii2用得不熟吧,谁说yii2基本写原生sql的?AR基本可以不用写sql,用command时写原生的会多一些,效率不是也更高吗?更灵活? 复杂查询必须用command。原生sql就是爽啊,我觉得这是yii2的一大优点!!
写原生SQL语句执行效率更高,但是YII2封装的数据库操作真的没cakephp那么强大
xuzuning 2015-06-08
  • 打赏
  • 举报
回复
对头!你要是愿意 自讨苦吃去 我也不反对 框架的开发者和你一样是需要成就感的,他当然希望你用他的框架 至于你的项目是不是适合使用框架,适合使用哪种框架,都是有讲究的 你把洗衣机拿到沙漠里去用,你就不能怪洗衣机不好了。
newuser2015 2015-06-07
  • 打赏
  • 举报
回复
你所谓的TP连贯写法,yii2也可以啊,好好看看guide和API,yii2相当强大和稳定。
newuser2015 2015-06-07
  • 打赏
  • 举报
回复
楼主,yii2用得不熟吧,谁说yii2基本写原生sql的?AR基本可以不用写sql,用command时写原生的会多一些,效率不是也更高吗?更灵活? 复杂查询必须用command。原生sql就是爽啊,我觉得这是yii2的一大优点!!
傲雪星枫 2015-06-06
  • 打赏
  • 举报
回复
合适就好。如果不爽自己加功能。
猪崽儿0o0 2015-06-05
  • 打赏
  • 举报
回复
现在用的框架基本都会偶尔间歇性的出现问题 防不胜防啊,但是根据市场需求还是需要继续使用,神奇的市场。
xuzuning 2015-06-05
  • 打赏
  • 举报
回复
嗯,我是什么框架都不用的
黄袍披身 2015-06-05
  • 打赏
  • 举报
回复
那么你就把你认为的优点融合在一起. 说到TP 我要吐槽,最近我们有个服务器给注入就是因为TP 的I方法根本就是摆设,但是之前我自己测试过却又是可以过滤的,最可怕的就是这种突然就失效的问题 。
Phalcon 中文文档 一般都是直接看英文资料,大都能看得懂。但看到Phalcon框架如此优秀,在学习后就想和大家分享,但发现国内的人几乎没有使用的,故想翻译一下,一旦翻译才发现读懂和译出一篇好文章真的不太一样。 故前一期翻译的部分章节有点生硬,等有空的时候再回头重译吧,后面的一部分也是以英文文档为基础,但并不再是逐句翻译了。 09年左右,大量的框架出现,我看过的框架不下20种,最先看到的可能就是php.MVC了,这是一个按照struts 1x编写的,只不过同时加载的类库太多了,效率不高而且不太完善。 后来稍有名的包括 cakephp, Symfony, Akelos, Prado, Kohana等,最近几年流行的就是 zf, yii, ci等,当然还有国内几个比较有名的框架,如fleaphp, thinkphp等。 在上面的一些框架中,我比较感冒的还是ci,yii,thinkphp等。ci,thinkphp够简单,速度也不错。yii是生活在国外的华人开发,功能够全而强大,速度也不错,国内的应用也不少。 一直不太喜欢zf,记得几年前就和同行朋友聊天的时候说,像ZEND公司完全可以用C语言开发出一个扩展来,这样效率会高得多,为毛非得用PHP开发呢,事实被我验证了,但开发扩展的不是ZEND公司,而是国内一个PHP大鸟,人称鸟哥。这个框架就是非常出名的YAF,因此YAF扩展是我必装的扩展之一。同时这也是我发现的第一个C语言写的扩展框架。 但YAF的缺点是,功能非常不完善,在我看来只是简单实现了MVC结构及路由,分发等功能,像一些ORM之类的功能完全没有开发,作者好像也没有开发的意思:) 后来就发现了Phalcon,一看文档就爱上了她,功能,速度等都是我想要的,我花了一周时间看文档学习她,并在一个下午的过程中,发现了文档中的三个错误并提交了这些错误:),我决定为完善它也贡献一点自己的力量。 本文档的中文地址存放在 http://phalcon.5iunix.net Github上的地址为: https://github.com/netstu/phalcondocs ,您如果发现有些地方译的有些操蛋,烦请你fork它,并完善她。

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧