찾다
백엔드 개발PHP 튜토리얼YII 框架的优点有哪些?

回复内容:

YII 框架的优点有哪些? - 周健的回答
没错,这条回答就是针对你的回答的,无数次的at错人后,我决定取消at了orz..

蹲坑的时候看到这条回答和一系列问题,我已经迫不及待提上裤子来回(反)答(驳)你的一系列问题了。
首先,你用了若干个绝对,我只能说佩服你的自信,“TP开发效率绝对高于Yii”、“TP必定更适合国人思维”、“TP附加价值绝对高于Yii”,你的这一系列绝对,对我来说就是不成立的,即便100个人里99个人赞同你的观点,而我一个人反驳,“绝对”二字就不成立!
存在即有理,所以对于TP框架好坏我不做评论,不过曾经在知乎看到一位朋友对TP的评价,虽然露骨,但是我觉得在理--“TP谈不上设计,只能说是一堆工具的集合”,即便如此,我也不否认TP,毕竟在国内的占有率在那,就好像很多人喷PHP,还是那句话,存在即合理
好,下面针对你的问题我一一回答
--------------分割线-----------
1、首先,提出这个问题,说明你对MVC模式的理解就有偏差,MVC只是提出了数据-视图-业务逻辑的分离,可并没有说视图里就不能有PHP代码,只要视图里的PHP是在做”表现“的事情,他就不背离MVC。
其次,即便如你所说,视图里就千万别出现PHP代码,那么Yii一样可以引入Smarty等模版引擎,只不过我同样认为没必要,在很多场景下,引入Smarty,后端和前端开发人员都需要重新学习一套语言,而如果直接用PHP做模版,前端开发人员只需要简单的学习语法就可以进行套页面的工作,即便抛开效率不谈,如果前端人员本来就既不会php也不会smarty,那么他简单的学习一些php语法,成本不见得比学smarty高。 所以,目前在我公司(前后端各20+人员规模)就是直接用Yii,并且使用php做模版;
2、widget,显然他不是万能,但你又能举出一个例子说明什么东西是万能的吗?(钱?笑~),举一个适用的场景: 站点里很多页面都出现的搜索框,用widget来做就很方便
至于说传JS的问题,用了5个月还不知道Yii的ClientScript怎么用,也说明用的不是太深入;
3、gii的设计初衷就不是替你生成业务逻辑的,gii是针对Web开发过程中对表的常规CRUD操作生成列表、表单及删除动作,不说其他,我所做的所有项目后台都是基于gii生成,开发效率提升说巨大也不为过;
至于样式,既然你不需要,难道你不知道可以自己定制一套Gii的模版吗?
4、关于这个作者在海外还是在国内,这个问题我想就没有回答的必要了,这与Yii本身无关。


综上,回答仅针对答主的问题,不吹不黑,要吐槽起yii我大概也能说800字,只不过答主的问题确实不是yii应该被黑的点,只不过看到答主口口声声的代表国人说了若干“绝对“忍不住提出反对意见 加入一篇我的博文yiiframework中一种更加简单构造局部页面的方法 在Yii Framework下打造C#的Html.RenderAction

团队使用Yii 接近两年时间了。
我们从NET迁移过来使用php重新开发,当时考虑的相当多的框架,最后决定选用Yii

1、Yii 框架的代码风格上于net比较接近,方便我们团队原有人员可以很方便的阅读php代码,上手快。
2、Yii 的框架对扩展支持相当高,很方便扩展,我们慢慢的自己扩展了很多组件。最近甚至修改了程序入口,让我们可以更加在框架内操控程序。
3、很重要的性能,Yii 的性能相对优秀,而且属于轻量级框架。spl_autoload_register 预注册,按需载入文件等对性能都有很大提高。
4、modules 设计是一个很优秀的东西,他理论上可以无限嵌套,当然不建议嵌套超过三层。虽然我们嵌套了两层。
4、widget 窗口小部件的应用,可以更加方便的构造通用模块。当然我们还有更加方便构造通用模块的方法,后边说。
5、其实集成的model,以及CActiveRecord模式 包含的验证机制,都是很好的东西,但是约束性也相对强一些。
6、不得不说的缓存机制,Yii框架封装了各种缓存方式,让你只需要调用统一的方法就可以在不同的缓存中切换。

通过内联方式将指定action的视图加载到当前页面 · Issue #2579 · yiisoft/yii · GitHub 我写的一个更方便的构造通用界面的方法。不太完美,还在完善。 我讨厌他的activeform和jquery绑定如此之深,用吧,为jquery所累,不用吧,以后接手的人肯定会骂我!还有就是越来越zend化了

其他的都是喜欢的 太复杂,把本来简洁的php,弄得那么复杂,如果不深入学习,很难用 我用过ci,tp,zf和yii,感觉tp是伪oop的框架,没有任何设计模式可言,特别是把smart这类模板引擎嵌入到框架中更是一大败笔,唯一的优点就是简单易学,个人感觉yii比tp高出不止2个等级。 Yii有三个群,
两个满了,121116851 Yii中国 67572979 Yii
一个快满了。127319423 Yiibook讨论组
这里马上就会有很多人来报道的。。。
每天发码中

Yii的优点我总结一句话是:Yii是PHP快速开发的最佳实践。具体参考:yiiframework.com/doc/guyiiframework.com/featur
要正真体会到,需要去用。

6.20补充:
目前国内在用的知名公司有盛大,多玩,饭否,小红伞等。参考:isyii.com/sites
基于YII的开源项目有:isyii.com/open
我写的基于sina开放平台的yii扩展: yii4sae.sinaapp.com Yii4sae是Yii框架部署到新浪开放平台(SAE)的最佳实践。不用修改Yii源框架代码也能将Yii部署到SAE,Yii的框架扩展性可见一斑。


2016.6.3补充:
目前Yii已经发展到2.0,Yii使用的公司已经是当初几十倍以上. Yii最大的优点就是快速,敏捷,不拖沓,给程序员飞翔的能力。当然请不要做对比,不同的人适合/喜欢不同的东西,如果你没用过Yii可以试试,至少我用了快2年了,感觉不错。 YII确实很不错,如果说过于依赖框架会导致不能真正懂得编程的话,我是反对的。
起码YII对编程的理解和提高都是有帮助的,如果你没有研究过YII就在这说YII不行的话,还是建议你去看看YII吧! 以前学PHP的时候文件都是乱放的,控制器,模型的概念也不是很清楚。
用了一段时候yii,可以养成很好的习惯。

组件非常强大,很多东西已经写好了。可以拿来直接用。 还是说缺点吧。

yii migrate这个坑略大,不过估计没什么人实际使用的。
文档略简洁。
성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
PHP와 Python : 다른 패러다임이 설명되었습니다PHP와 Python : 다른 패러다임이 설명되었습니다Apr 18, 2025 am 12:26 AM

PHP는 주로 절차 적 프로그래밍이지만 객체 지향 프로그래밍 (OOP)도 지원합니다. Python은 OOP, 기능 및 절차 프로그래밍을 포함한 다양한 패러다임을 지원합니다. PHP는 웹 개발에 적합하며 Python은 데이터 분석 및 기계 학습과 같은 다양한 응용 프로그램에 적합합니다.

PHP와 Python : 그들의 역사에 깊은 다이빙PHP와 Python : 그들의 역사에 깊은 다이빙Apr 18, 2025 am 12:25 AM

PHP는 1994 년에 시작되었으며 Rasmuslerdorf에 의해 개발되었습니다. 원래 웹 사이트 방문자를 추적하는 데 사용되었으며 점차 서버 측 스크립팅 언어로 진화했으며 웹 개발에 널리 사용되었습니다. Python은 1980 년대 후반 Guidovan Rossum에 의해 개발되었으며 1991 년에 처음 출시되었습니다. 코드 가독성과 단순성을 강조하며 과학 컴퓨팅, 데이터 분석 및 기타 분야에 적합합니다.

PHP와 Python 중에서 선택 : 가이드PHP와 Python 중에서 선택 : 가이드Apr 18, 2025 am 12:24 AM

PHP는 웹 개발 및 빠른 프로토 타이핑에 적합하며 Python은 데이터 과학 및 기계 학습에 적합합니다. 1.PHP는 간단한 구문과 함께 동적 웹 개발에 사용되며 빠른 개발에 적합합니다. 2. Python은 간결한 구문을 가지고 있으며 여러 분야에 적합하며 강력한 라이브러리 생태계가 있습니다.

PHP 및 프레임 워크 : 언어 현대화PHP 및 프레임 워크 : 언어 현대화Apr 18, 2025 am 12:14 AM

PHP는 현대화 프로세스에서 많은 웹 사이트 및 응용 프로그램을 지원하고 프레임 워크를 통해 개발 요구에 적응하기 때문에 여전히 중요합니다. 1.PHP7은 성능을 향상시키고 새로운 기능을 소개합니다. 2. Laravel, Symfony 및 Codeigniter와 같은 현대 프레임 워크는 개발을 단순화하고 코드 품질을 향상시킵니다. 3. 성능 최적화 및 모범 사례는 응용 프로그램 효율성을 더욱 향상시킵니다.

PHP의 영향 : 웹 개발 및 그 이상PHP의 영향 : 웹 개발 및 그 이상Apr 18, 2025 am 12:10 AM

phphassignificallyimpactedwebdevelopmentandextendsbeyondit

스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?스칼라 유형, 반환 유형, 노조 유형 및 무효 유형을 포함한 PHP 유형의 힌트 작업은 어떻게 작동합니까?Apr 17, 2025 am 12:25 AM

PHP 유형은 코드 품질과 가독성을 향상시키기위한 프롬프트입니다. 1) 스칼라 유형 팁 : PHP7.0이므로 int, float 등과 같은 기능 매개 변수에 기본 데이터 유형을 지정할 수 있습니다. 2) 반환 유형 프롬프트 : 기능 반환 값 유형의 일관성을 확인하십시오. 3) Union 유형 프롬프트 : PHP8.0이므로 기능 매개 변수 또는 반환 값에 여러 유형을 지정할 수 있습니다. 4) Nullable 유형 프롬프트 : NULL 값을 포함하고 널 값을 반환 할 수있는 기능을 포함 할 수 있습니다.

PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?PHP는 객체 클로닝 (클론 키워드) 및 __clone 마법 방법을 어떻게 처리합니까?Apr 17, 2025 am 12:24 AM

PHP에서는 클론 키워드를 사용하여 객체 사본을 만들고 \ _ \ _ Clone Magic 메소드를 통해 클로닝 동작을 사용자 정의하십시오. 1. 복제 키워드를 사용하여 얕은 사본을 만들어 객체의 속성을 복제하지만 객체의 속성은 아닙니다. 2. \ _ \ _ 클론 방법은 얕은 복사 문제를 피하기 위해 중첩 된 물체를 깊이 복사 할 수 있습니다. 3. 복제의 순환 참조 및 성능 문제를 피하고 클로닝 작업을 최적화하여 효율성을 향상시키기 위해주의를 기울이십시오.

PHP vs. Python : 사용 사례 및 응용 프로그램PHP vs. Python : 사용 사례 및 응용 프로그램Apr 17, 2025 am 12:23 AM

PHP는 웹 개발 및 컨텐츠 관리 시스템에 적합하며 Python은 데이터 과학, 기계 학습 및 자동화 스크립트에 적합합니다. 1.PHP는 빠르고 확장 가능한 웹 사이트 및 응용 프로그램을 구축하는 데 잘 작동하며 WordPress와 같은 CMS에서 일반적으로 사용됩니다. 2. Python은 Numpy 및 Tensorflow와 같은 풍부한 라이브러리를 통해 데이터 과학 및 기계 학습 분야에서 뛰어난 공연을했습니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

WebStorm Mac 버전

WebStorm Mac 버전

유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기