0

0

怎样选择适合自己php框架

不言

不言

发布时间:2018-04-16 14:36:45

|

2840人浏览过

|

来源于php中文网

原创

这篇文章主要介绍的内容是关于怎样选择适合自己php框架,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

PHP是世界上最流行的编程语言之一,并且最近PHP7的发布让这门服务器端的编程语言比以往更加的强大和稳定。

PHP广泛应用于大型项目,例如Facebook使用PHP来建立和维护他们的内部系统。Wordpress使用PHP作为它的内核使其占据了26%的web项目。目前82%的web网站使用PHP作为其服务器端的开发语言(据Web Tecnology Surveys网站调查)

在这篇文章内,我们将一起来分析3中最流行的PHP框架:Symfony、Laravel、和Yii。我门通过说明怎么比较它们来帮助大家选择一个最适合自己需求的框架。

为什么选择使用PHP框架?

是什么让我们使用框架而不是使用纯粹的php原生语言来开发我们的应用?使用框架的一些好处如下:

立即学习PHP免费学习笔记(深入)”;

  • PHP框架使开发过程更快,例如,你不必为从数据库中查询数据去写复杂的查询语句。PHP框架提供了CRUD操作(create创建,read读取,update更新, delete删除)

  • 框架让开发者更加容易的扩展系统

  • 比起普通的php应用代码的维护更简单。应用的代码更加的精简并且易操作

  • MVC模型保证来快速的开发

  • 对于常见的安全威胁,框架能更好的保护应用web应用的安全

  • don‘t repeat yourself(不要重复)原则保证使用最少的代码发挥最大的作用

以上的好处很显著以致于不容忽视。即使使用原生的PHP也能用来开发任何的应用,但是当前的开发规范要求使用工具和时间管理的技巧来满足市场的需要。

怎样选择PHP框架

回答下面的一些问题能帮助你选择适合自己的框架:

  1. 这个框架有哪些特点和功能?(它提供了我的需求吗?)

  2. 这个框架学习容易吗?

  3. 这个框架可扩展行强吗?

  4. 这个框架的核心团队是否在积极的开发和维护它呢?

  5. 这个框架提供长期支持吗?

  6. 这个框架有强大的社区支持吗?

Symfony、 Laravel和Yii

在深究技术细节之前,我们先来整体介绍下这3个竞争者

Symfony

Symfony 是一套可复用的PHP组件,这些组件可以使开发者开发出易扩展和高性能的应用。有30个组件可供选择,开发者有完全的自由在RAD环境中实验和工作。Symfony 的APIs也使得它很容易的与第三方应用整合,它也能与流行的前端框架一起使用,比如AngularJs。

很多的流行项目包括Drupal和phpBB也使用了Symfony框架。实际上目前最流行的框架Laravel也是建立在Symfony上。

Laravel

Laravel作为“为web艺术家而生的框架”被广泛使用,它提供了极其优秀的社区并获得了最流行的框架的称号。

在2015年5月 Laravel 发布声明 Laravel5.1版本将提供2年的长期支持。2015年11月5.2版本推出。很多托管提供商提供Laravel支持并提供Laravel应用的托管解决方案。

Yii

Qiang Xue 在2008年推出了Yii框架,Yii框架安全、快速、性能卓越。Yii使用Composer作为它的php依赖管理工具来帮助处理不同的依赖和其安装。得益于惰性加载技术的使用,Yii框架是目前速度最快的框架。

Yii另一个伟大的特性是整合来JQuery。这种整合使得前端的开发者开始的拥抱它,并且它使用脚手架生成代码,类似与Symfony。Yii也使用组件来快速开发应用。

怎样比较它们

这3个框架开发Web2.0应用都非常的好,但是各自服务与不同的目的。让我们看看它们的特性以及它们目前的状态。

模版引擎

模板引擎在编写前端代码时,简化开发者的工作并提供更好的功能。模版引擎提供的特性包括自动html代码转义和过滤、添补原生php留下的间隙。

Symfony Twig 模板系统

Twig是一个PHP的现代模板系统。Symfony利用Twig的优势使开发者写出更加干净、简洁的代码。

详见Twig网站学习更多的关于twig的特性

Laravel Blade 模板系统

不像其他的模板系统,Blade让你在视图中是用PHP代码。并且Blade对应用的性能影响几乎为零,因为视图文件都是以.blade.php作为扩展名。视图文件所有的代码在程序运行中都转换为了原生的php。

Yii 默认模板系统

Yii默认没有使用任何第三方模版系统,但是这并不意味者它缺少对模版引擎的支持。模板引擎的选择取决去开发团队。Yii推荐使用Twig和Smarty模板引擎。介于Symfony使用的是Twig,所以如果你以前使用过Symfony,你可能想在你的下一个Yii框架中使用Twig。

这里没有明显的优胜者。3个框架都使用模版引擎使前端代码的的书写和维护更简单。Yii的一个小优势是它没有提前预设一个模板系统。

框架不同点

每个框架都不一样。Symfony致力于提供可复用的组件和提供最好的模块化支持。Symfony也使用模型和控制器来开发web应用,对于新的开发者这看起来有点老套。但是确实好用。对于模块化框架来说Symfony是一个很好的例子。你可以使用模块化的方式在你的项目中使用Symfony提供的30个组件。

Yii框架使用MVC模型(Symfony也提供对MVC的支持)

Symfony 可以用来快速开发和用于复杂项目。即便有对哪个框架最适合开发复杂项目有争议,Symfony相对于其他框架显示出了卓越的复杂处理能力

Yii也使用组件但是不像Symfony一样模块化。Laravel不像另外2个框架一样提供激进的模块化支持。

如果你正在寻找一个模块化的框架,就去选择Symfony,其他的话,Laravel和Yii都是很好的选择。

网格图片手风琴jquery特效代码
网格图片手风琴jquery特效代码

网格图片手风琴jquery特效代码,结合网格手风琴缩略图和手风琴面板的功能,给你展示你的图片网站一个有趣的方法。你可以选择使用XML或HTML。功能强大的API将允许进一步提高这个jQuery插件的功能,可以方便地集成到您自己的应用程序。兼容主流浏览器,php中文网推荐下载! 使用方法: 1、在head区域引入样式表文件style.css和grid-accordion.css 2、在head

下载

安装

这三个框架提供了许多安装程序。如果你用Composer去处理安装包,你会很高兴发现,所有的框架都可以通过Composer安装

对Symfony而言,Composer的作用更加关键。通过使用PHPComposer依赖管理器,组件处理的想法能更好的实现。

各个框架还有其他的安装方式。例如,您可以使用简单的归档方法安装框架。

安装完成后,Yii为你提供了一个Web应用程序和一个基本模板来工作。Symfony2还提供了一个开始的演示程序。

Laravel通过Composer的composer create-project命令或者通过Laravel安装器也能简单的进行安装。详情请查看laravel安装指南。

快速开发

从公司或客户的角度来看,快速地将应用程序推向市场以满足消费者的需求并击败竞争对手是很重要的。
symfony有一个强大社去支撑,并作为一个健壮的框架而凸显出来。Laravel正在迅速成长,但在被视为PHP实际的开发选择之前,Laravel还有很长的路要走。
另一方面,如果你不认识任何PHP框架,又想尽快上手,那么可以考虑Laravel。Laravel有一个简单的学习曲线,你会发现网上很多教程来帮助你开始。
Yii的性能有一个新的水平,并为快速的的代码生成和开发提供了代码脚手架。

性能

任何应用程序的性能只关系到它是否是一个使用关键数据的实时应用程序。有多少依赖高性能的web应用程序?并不是很多,但是框架的性能在许多项目中可以起到关键的作用。

社交网络是实时事件应用的首选例子,我们的一个明星的产品-jadson使用yii2建了一个移动社交网络,当初我们为编写高性能的应用而选择一个最好的框架时。Yii作为最快的PHP框架而凸显出来。

Laravel的性能是一个颇有争议的问题。它是最慢的,但这有关系吗?你会找到在线资源去加速它的性能,包括GitHub上的指南让你的laravel应用变得更快。

数据库支持

Symfony 2提供了更好的数据库支持。你可以使用一组数据库,包括NoSQL和DynamoDB。
Yii和Laravel在这方面也同样有用,但他们支持的数据库比symfony的少。每个框架支持的数据库如表1所示。

怎样选择适合自己php框架

社区和资源

开源框架持久性的一个重要预测因素是其社区的力量。这3个框架都有稳定而坚实的社区,尽管Symfony的社区可能更成熟一些,但是社区在进化,所以对社区的未来的动态预测很难。
说到学习资料和文档,Laravel突出出来来,尽管Symfony和Yii并没有落后很多。

可扩展性

框架是可以通过扩展或包进行扩展的结构,用来改进了它们的功能和范围。说到扩展,Laravel是赢家。packalyst一个laravel扩展包的库提供超过9000的扩展包。另一方面 Yii和symfony分别提供了2800左右的扩展和2830的包,Laravel提供来超过3被的扩展。Laravel在这方面似乎是最好的框架。

相同点

我们已经研究了框架之间的差异。现在让我们看看它们的相似之处:

  • 3个框架都是全栈的php框架,从前端代码书写到后段数据获取,都提供了构建web应用的功能

  • 项目都是开源的,并且都托管在GitHub上,这使得任何人都能容易的贡献自己的代码

  • 所有的框架都有很好的文档注释并都与一个庞大的社区支持

  • 都支持ORM(Object Relationship Mapping 对象关系映射)。ORM非常适合编写应用程序的面向对象代码。

  • 对于开发Web2.0应用都足够强健、安全和可靠

仍然迷惑?也许这些列表有助于你缩小选择范围:

Symfony:

  • 提供长期支持版本

  • 带有大量的特性

  • 它是目前最稳定的框架

  • 基于组件的框架,提供可扩展的模块化功能

  • 有强大的社区支持和丰富的学习资源

Yii:

  • 天生带有ajax支持

  • 因为提供更快的操作,它是开发实时应用的最好选择

  • 高度可扩展

  • 错误处理强大

  • 有利于开发Restful风格Web服务

  • 有强大的社区支持和丰富的学习资源

Laravel:

  • 最受欢迎的框架

  • 支持Composer管理扩展包

  • 单元测试做得很好

  • 提供了大量的扩展包来扩展框架的功能

  • 有强大的社区支持和丰富的学习资源

结论

在Symfony与Laravel与Yii的竞争中,3个框架都是极好的选择,都为开发者提供来全栈的开发环境。对于我来说,作为一种新兴的且没有停止的迹象的明星-Laravel是一个胜利者。

本文为翻译文档-- 原文链接

相关推荐:

php框架CodeIgniter中的redis怎么使用


热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
PHP Symfony框架
PHP Symfony框架

本专题专注于PHP主流框架Symfony的学习与应用,系统讲解路由与控制器、依赖注入、ORM数据操作、模板引擎、表单与验证、安全认证及API开发等核心内容。通过企业管理系统、内容管理平台与电商后台等实战案例,帮助学员全面掌握Symfony在企业级应用开发中的实践技能。

78

2025.09.11

laravel组件介绍
laravel组件介绍

laravel 提供了丰富的组件,包括身份验证、模板引擎、缓存、命令行工具、数据库交互、对象关系映射器、事件处理、文件操作、电子邮件发送、队列管理和数据验证。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

319

2024.04.09

laravel中间件介绍
laravel中间件介绍

laravel 中间件分为五种类型:全局、路由、组、终止和自定。想了解更多laravel中间件的相关内容,可以阅读本专题下面的文章。

278

2024.04.09

laravel使用的设计模式有哪些
laravel使用的设计模式有哪些

laravel使用的设计模式有:1、单例模式;2、工厂方法模式;3、建造者模式;4、适配器模式;5、装饰器模式;6、策略模式;7、观察者模式。想了解更多laravel的相关内容,可以阅读本专题下面的文章。

372

2024.04.09

thinkphp和laravel哪个简单
thinkphp和laravel哪个简单

对于初学者来说,laravel 的入门门槛较低,更易上手,原因包括:1. 更简单的安装和配置;2. 丰富的文档和社区支持;3. 简洁易懂的语法和 api;4. 平缓的学习曲线。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

374

2024.04.10

laravel入门教程
laravel入门教程

本专题整合了laravel入门教程,想了解更多详细内容,请阅读专题下面的文章。

85

2025.08.05

laravel实战教程
laravel实战教程

本专题整合了laravel实战教程,阅读专题下面的文章了解更多详细内容。

65

2025.08.05

laravel面试题
laravel面试题

本专题整合了laravel面试题相关内容,阅读专题下面的文章了解更多详细内容。

68

2025.08.05

俄罗斯Yandex引擎入口
俄罗斯Yandex引擎入口

2026年俄罗斯Yandex搜索引擎最新入口汇总,涵盖免登录、多语言支持、无广告视频播放及本地化服务等核心功能。阅读专题下面的文章了解更多详细内容。

84

2026.01.28

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 9.9万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 11.2万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.9万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号