Yii2 或 Laravel5 是不是弥补了 Codeigniter 的弱点?
Posted
技术标签:
【中文标题】Yii2 或 Laravel5 是不是弥补了 Codeigniter 的弱点?【英文标题】:Does Yii2 or Laravel5 compensate the weakness points in Codeigniter?Yii2 或 Laravel5 是否弥补了 Codeigniter 的弱点? 【发布时间】:2016-11-11 01:19:29 【问题描述】:我是一名 Web 开发人员,我使用 Codeigniter 已经 3 年了,我在许多生产项目中都使用过它,Codeigniter 也是我开发基于框架的项目的起点。 后来,我注意到其他 php 框架提供了许多有用的功能,使开发人员的生活更轻松,例如:
数据库迁移这使得改变数据库架构更容易和更有效 代码生成(脚手架):为实体生成模型、视图和控制器 表单验证:表单验证规则在生成时确定,其余的由框架完成 REST API:在框架中原生支持 REST 控制器,无需第三方插件所有这些原因让我想到切换到其他框架。
经过搜索,我发现 Laravel5 有我需要的功能,而且它有一个很大的开发者社区。p>
我的朋友用的是 Yii2,他推荐我改用 Yii2,我也发现 Laravel 和 Yii 的统计数据在这些统计数据中都有很好的声誉。
Laravel5 和 Yii2 与其他框架有何不同以及每个框架的附加值
【问题讨论】:
【参考方案1】:我只能给你我们Sourcetoad 的经验:
1) 生产就绪:Yii2 遵循semver(与 PHP 社区/生态系统的其他成员一样),当框架被修补时,更改是可预测的并且提前做好宣传。
2) 学习曲线:Laravel 胜出;更多教程、食谱、网络资源和人员。
3) 安全性:根据我们的经验,Yii/2 超越了一切。不仅是可配置的,也不是可选的,几乎所有标准安全实践都默认处于活动状态。
4) 正如你所指出的脚手架:Yii/2 在这里胜出。从 Gii 开始,脚手架生成轻而易举。
5) 社区:虽然我们在这里不需要围绕每个框架过度参与社区,但它们都是 OSS 社区的一部分;然而,我们最初的印象是 Laravel 可能/也许会在这里轻推。没有确凿的例子。
最后答案是:right tool, right job。
【讨论】:
【参考方案2】:简介
我已经做了 3 年的高级全栈开发人员,主要使用 Yii 进行 php 开发,但是我被告知 laravel 更好,所以我决定用 laravel 构建一个eCommerce Script 以更多地了解 laravel 和看看 Yii 和 laravel 的区别。
那么最后 laravel 和 Yii 有什么区别呢?
简而言之主要是 Nothing ,但 Yii 有更好的方式来处理表单。
详情
易于学习:如果您是一位经验丰富的开发人员,学习每个框架大约需要一个小时。并且这两个框架都有有用的文档。
处理 REST API:两者都使生成 REST API 变得容易,并且都有自己的方式。但是我在开发rest api时使用Laravel,因为在使用microservices architecture开发时laravel更有帮助。
开发者社区 看起来 laravel 拥有更大的开发者社区,但在我在 Yii 的职业生涯中,我发现没有遇到问题没有答案的瓶颈。
工作机会如果你是一个经验丰富的 laravel 开发人员而不是 Yii,你将有更好的机会找到工作。
终于:
由您决定选择什么,因为这两个框架都强大且有用
【讨论】:
试图找出什么是全栈开发人员。能否请您解释一下什么是全栈开发人员?【参考方案3】:是的!Laravel5 或 Yii2 具有 Codeigniter 所缺乏的内置功能。
对我来说,我已经使用 laravel 大约 5 个月了,它具有一些强大的功能,例如 ORM (Eloquent)、数据库迁移、表单验证、REST API、HTTP 中间件和脚手架(使用第三方)。
我之前没用过Yii,所以说不出两者的区别,不过听起来也有一些不错的功能,但是据说开发者经历了四个阶段:
-
没有框架
使用框架。
编写自己的框架。
没有框架。
一篇关于这个link的有趣文章。
如今,您需要做的就是获取一堆一起工作的组件(相互依赖或相互工作),完全引导它们,设置一些路由,连接配置系统,布置控制器,处理会话配置并连接到您的数据库。 您可以使用随机挑选和混合的 Composer 组件完全做到这一点。但是当你写完那个应用层时…… 猜猜你做了什么? 您刚刚编写了一个框架。 鲟鱼,L. (n.d.)。 “框架”已死,框架万岁。检索于 2016 年 7 月 11 日,来自 https://philsturgeon.uk/php/2014/01/13/the-framework-is-dead-long-live-the-framework/
最后,您的问题没有完美的答案,每个人都在使用他最喜欢的选项,有些人更喜欢使用框架,有些人更喜欢自定义。你只需要坚持你觉得舒服的东西,并总是尝试找到更好的东西。
【讨论】:
【参考方案4】:没有人可以为您回答这个问题。我认为这是个人品味的问题。我认为 Laravel 背后有一个更大的社区,但这可能还有待讨论。我通常做的是在不同的框架中创建一个小的 todo 应用程序,看看我认为适合自己的地方。
我个人喜欢 Laravel 的一点是,Laravel 还开发了 Lumen 和 Spark,它们本身就非常有用。另一方面,Spark 是有偿的,这似乎引发了很多关于 Laravel 未来的讨论。
【讨论】:
以上是关于Yii2 或 Laravel5 是不是弥补了 Codeigniter 的弱点?的主要内容,如果未能解决你的问题,请参考以下文章