Heim  >  Artikel  >  Backend-Entwicklung  >  yii2是最好的框架,不服来辩

yii2是最好的框架,不服来辩

WBOY
WBOYOriginal
2016-06-20 12:45:091048Durchsuche

我用yii开发过程中,感觉自己需要写的代码特别少。

先谈谈最基本的单数据表模型吧:
直接使用crud生成,然后根据自己需要的功能修改下就ok

两个表关联模型,当数据表设置了外键之后,yii2在生成model时候,自动会添加关联关系
比如你要添加产品的同时,还需要添加多个图片到产品图片数据表

这个在yii2非常简单,你只需要处理下post数据就ok

举个例子,两个model  1product 2productImg
只需要把post数据处理成这样 
=[
'product'=>[
    '相关字段',
    'productImg'=>[0][图片表相关字段]
]
]

使用下yii一个ar relation扩展,就可以在执行$product->save()方法时候,自动添加productImg  数据

修改数据也不用管,非常的智能化,自己需要写的代码不超过20行

而且这个支持复杂的多表关联,只要你建立好外键,处理好post数据,一切就ok,yii2就是这么强大

数据验证,数据安全yii2做的也很好,通过场景概念,你可以只容许需要的字段数据传送过来
通过简单的验证规则配置,就可以实现各种各样的验证功能,还可以自定义方法,匿名函数

yii2最大的缺点可能是对pher技术要求较高和yii2文档不太全,需要懂yii2内核才能完美发挥yii2优势

还有一些acf,rbac,di,user,等等用起来也很方便,推荐大家使用

如果你没深入了解yii2内核,还请对yii2尊重点,整天拿着个国产框架秀什么优越感


回复讨论(解决方案)

本来目前做的一个商城项目,我主要做产品这一块,大概用了十二个数据表,模仿的淘宝sku构架设计,感觉yii2确实很强大,代码写的很少。我现在写的js代码我感觉比php都还多

如果你没深入了解国产框架内核,还请对国产框架尊重点,整天拿着个yii秀什么优越感

要是用ecshop做商城连一句代码都不用写!
我个人对框架的要求是干净整洁轻量,规范严谨,基础类库久经考验,第三方类库易扩展,路由强大而不繁杂
跟你恰恰相反,我希望除了框架本身能用到的代码以外,不希望框架自动生成任何跟我的业务逻辑有关系的代码
而且至今我也没有发现有任何一个框架自动生成代码的功能可以满足我的业务需求的

用ecshop做商城连一句代码都不用写!

楼主请参考    http://bbs.csdn.net/topics/390839161  

本来目前做的一个商城项目,我主要做产品这一块,大概用了十二个数据表,模仿的淘宝sku构架设计,感觉yii2确实很强大,代码写的很少。我现在写的js代码我感觉比php都还多


虽然我也使用YII。但也没想过说YII最强大。框架只能说适合不适合。殊不知还有更快更效率的框架 如yaf。多看点框架没坏处

a

如果你没深入了解国产框架内核,还请对国产框架尊重点,整天拿着个yii秀什么优越感



一年半经验,用过一年的ci,还有某个国产不知名的框架已经phpcms内置的小框架

要是用ecshop做商城连一句代码都不用写!
我个人对框架的要求是干净整洁轻量,规范严谨,基础类库久经考验,第三方类库易扩展,路由强大而不繁杂
跟你恰恰相反,我希望除了框架本身能用到的代码以外,不希望框架自动生成任何跟我的业务逻辑有关系的代码
而且至今我也没有发现有任何一个框架自动生成代码的功能可以满足我的业务需求的



我开发的是一个多商家有用户的大型分销批发商城系统,数据表就要40多个,两个人用了2个月做完了,你告诉我ecshop怎么做?

楼主请参考    http://bbs.csdn.net/topics/390839161  



这个人我那天聊过,他跟我说3个月没写过php了,然后我们交流一些技术问题,他都是已不搞技术很多年,不知细节回答我。

优越不优越不知道,从学习成本、开发工具支持、维护成本来说我选择Yii,具体个人考虑以下几方面

PHP及其面向对象、MVC模式、无额外标签、目录结构及插件机制、关系数据模型AR映射,内部已经结合了jQuery、可扩展Bootstrap、比较完善的UI支持、验证和安全机制比较完善、目前来说很稳定也比较安全、开发工作量相对小,另外开发工具比如:PhpStorm的支持比较好,性能也不错。

就这些吧

我也在用YII2,确实是我用过的最好的框架。
但是从某些方面说,没有最好的框架,比如你觉得YII的快速开发和安全什么的做得比较好,但是效率呢?能和鸟哥的yaf比么?什么东西都没有十全十美,有好处必定也有坏处。

这样的论战有意思么? 合适的框架与合适的实际需求在一起就很好。

没有最好的框架,只有最合适的框架

得看做什么了。。也有很多其他优秀的框架。。。

求指导,怎么开始PHP

yii实在是一个比较垃圾啊的框架,用过才知道。

1、执行速度?
了解他的路由就知道,也容易出现单文件瓶颈。


2、开发速度?
别人给你一套切好的图,你嵌入试试。
别人要修改这些页面,也来试试。


3、学习难度?
全面重塑,为毛?有多少必要?
程序员解放了,只是m解放了。
v呢?让一个美工切图工去看看,这是毛?


4、部署难度?
在linux上部署一下就知道了?
这是毛?
安全了吗?


5、真是不知道这个框架的塑造这是不死足够自我意淫的,弄出个这样的东东,比开发一套新的php编译器都要复杂了。
强烈建议大家抛弃这样的垃圾东西,不要害人害己了。

一家之言,也是一人的体会,不要太介意,反正我是恨极了这个玩意儿的。
学了之后,宛若看翔。
蓝翔技校也学习yii吗?

我手上的项目被指定用Yii2开发了,搜资料的时候看到这个文章就进来说两句。

首先,Yii和大多数框架一样,属于伪框架,是开发人员的代码累计后整理并框架化产生的。不论创始人是多么强大的架构师,但是他也不能自己写所有代码,而编码的人与设计者的境界差异也是伪框架产生的原因之一。Zend Framework是我深入了解过的框架中最优秀的( 不是最好用的,这两者不等价),它从设计到推出都是以框架为目标,而不是工具集,这是这两种框架的本质差别。

就我用到的部分说两个有代表性的问题:
1- Request::redirect()方法
我想每个人都知道redirect是什么意思,但是Yii2中该方法的完整用法为:
\Yii::$app->request->redirect($url)->send(); \Yii::$app->end();
什么意思呢,如果你不执行end()方法,那么就不会跳转,直到所有代码运行结束。由此可见,更好的方式是将该方法更名为setRedirectUrl()。请问,如果我不需要立即跳转为何要调用这个方法呢?方法名字与行为不一致是不是属于非常严重的bug呢?

2- View::render() 和 View::renderAjax() 功能界定模糊
对于一个ajax请求,render方法可以识别,不会将layout输出,但是却不会输出已注册的js,必须使用renderAjax()才行。既然这样render就不要针对ajax处理好不好?很容易让人误解的。

其它类似的问题很多,比如load和setAttributes功能近似等,从而可以很确定的说至少Yii2的代码语义问题是很多的。

总结:Yii2确实提升了开发速度,但是由于工具化的结构和过度封装导致在特定情景下反而影响了正常开发,即 Yii2确实好用,但是也就是个高级的工具集,就框架而言最多是个入门级,所以它肯定不是最好的框架。Yii2只注重了利用工具方法提升了开发效率而完全没有注意到框架核心的众多问题,失败。

附言:我把Yii分为内核,中坚和工具箱,工具箱可以解决项目中超过80%的问题,此外就依靠中坚层提供的基础方法实现,这时你会发现华丽外表下的二了。

‘hello world!’是世界上开发最快的程序,适用各种语言,不服来辩!


要是用ecshop做商城连一句代码都不用写!
我个人对框架的要求是干净整洁轻量,规范严谨,基础类库久经考验,第三方类库易扩展,路由强大而不繁杂
跟你恰恰相反,我希望除了框架本身能用到的代码以外,不希望框架自动生成任何跟我的业务逻辑有关系的代码
而且至今我也没有发现有任何一个框架自动生成代码的功能可以满足我的业务需求的



我开发的是一个多商家有用户的大型分销批发商城系统,数据表就要40多个,两个人用了2个月做完了,你告诉我ecshop怎么做?
它分明是在黑ecshop。ecshop那种东西是人用的吗?整一个石器时代。



要是用ecshop做商城连一句代码都不用写!
我个人对框架的要求是干净整洁轻量,规范严谨,基础类库久经考验,第三方类库易扩展,路由强大而不繁杂
跟你恰恰相反,我希望除了框架本身能用到的代码以外,不希望框架自动生成任何跟我的业务逻辑有关系的代码
而且至今我也没有发现有任何一个框架自动生成代码的功能可以满足我的业务需求的



我开发的是一个多商家有用户的大型分销批发商城系统,数据表就要40多个,两个人用了2个月做完了,你告诉我ecshop怎么做?
它分明是在黑ecshop。ecshop那种东西是人用的吗?整一个石器时代。

虽然如此,不过像dedecms、discuz、ecshop这些影响真的太大了,还有函数编程的wordpress、phpmyadmin。。。。
phpmyadmin wordpress 根本就没用什么MVC,老一辈的PHP程序就是这样的。

某女:你能让这个论坛的人都吵起来,我就跟你约会. 某软件工程师:PHP是最好的语言! 某论坛炸锅了,各种吵架... 某女:服了你了,我们走吧 某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言

某女:你能让这个论坛的人都吵起来,我就跟你约会. 某软件工程师:PHP是最好的语言! 某论坛炸锅了,各种吵架... 某女:服了你了,我们走吧 某软件工程师:今天不行,我一定要说服他们,PHP必须是最好的语言



我喜欢这个段子

框架没有最好用,只有最合适

雏鸟喜欢成型框架,喜欢自动生成,方便快捷,老鸟喜欢自己写框架,更有掌控力,没啥好坏之分

怎么方便安全,怎么来,所以选择yii

怎么会有最好的框架呢。。。

我用zend,cakephp,ci,thinkphp,yii。最好用的是thinphp,最不好用的是YII,目前我用了Yii半年,除了自动生成model,我没有觉得Yii有任何好处!

我用zend,cakephp,ci,thinkphp,yii。最好用的是thinphp,最不好用的是YII,目前我用了Yii半年,除了自动生成model,我没有觉得Yii有任何好处!


赞同!

瞎扯淡,框架只有合不合适,没有最好,你用YII做个人博客试试,连WordPress的屁股都摸不着,老夫给你句忠告:莫装逼!!!

之前用tp,现在用Yii,感觉tp好,没有为什么

请教
http://bbs.csdn.net/topics/391854288

谢谢

 请楼主百度,世界最流行的PHP框架排名!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn