如果您想启动一个新项目或更新现有项目,请务必查看此解释器和随附的视频!我们会根据您的项目需求为您提供一些在2023年使用哪种PHP框架的提示。
在YouTube上查看此内容
此解释器中的大多数PHP框架都是我熟悉的框架,有些是很久以前。因此,我试图尽可能地客观。
什么是PHP框架?
在列出哪个是最佳使用的PHP框架之前,我们需要首先了解PHP框架是什么。 PHP Frameworks为从简单的网站到管理数百万注册和日常访问的大型,复杂的Web应用程序的功能。
PHP框架已经使用了数十年(PHPLIB,第一个PHP框架,可追溯到2000年以前),并且它们采取了不同的形式,但其主要目的却大致相同。该目的是:通过提供一组常用功能以及用于共同功能的库来帮助PHP开发人员,并强制使用最佳编码实践。
将PHP框架视为已经提供了运行系统的骨架,您可以在其中嵌入代码,而无需从头开始浏览所有细节。
什么时候使用PHP框架?
对于PHP程序员来说,在几乎每个项目中都使用PHP框架可能是个好主意,但是在许多情况下,使用一个框架可能不是最好的主意。这完全取决于项目。
让我们快速查看使用PHP框架的一些利弊。
缺点
- 执行速度较慢 - PHP框架通常会为项目增加复杂性和开销。 PHP框架在运行之前始终将加载一些类和库。有时,最好的解决方案可能是仅在最低抽象级别编写一些自定义代码,而这些代码比使用框架更快,更复杂。
- 针对特定问题的一般解决方案 - PHP框架提供了库和功能的骨架,可以使用开发人员发现的最常见问题。当您选择一个框架时,您应该小心了解它是否解决了问题,然后您应该检查它是否适合您的其余需求。
- 学习曲线 - 框架使我们走向良好的结构化代码和最佳实践,但是,学习和掌握可能需要时间和精力。如果您可以掌握框架,则可能会出现一个大混乱而不是结构化代码。
- 有限的控制 - 当您使用PHP框架时,您会引入外部依赖性。因此,您接受负责该框架的人可能会随时停止支持它或以不同的方向发展其发展。您还必须考虑将框架升级到较新版本所需的时间,并必须处理升级可能带来的所有代码更新。
优点
- 更快的开发时间 - 一个精心挑选的PHP框架已经包含了您必须解决的最常见问题的实现。它通常还提供结构良好的应用程序体系结构 - 模型视图控制器或MVC。通过使用框架,您将获得一个功能齐全的模板,只需要专注于构建特定项目的功能即可。不要忘记大多数框架提供的命令行工具,它们会大大减少开发时间。
- Security - PHP应用程序默认情况下没有良好的安全性,并且某些开发人员可能并不是创建自己的安全措施的最好的安全性。通过使用PHP框架,您可以使用PHP社区不断测试,审查和审查的解决方案。因为大多数是开源的,所以通常会很快注意到安全问题。
- 更轻松的协作 - 使用PHP框架使新开发人员更容易开始该项目。即使他们还不熟悉该框架,他们也可能可以访问完整的文档和教程,以使过渡更加容易。 很难获得最终的PHP框架列表。 Wikipedia列出了40个PHP框架,但其中一些被更好地描述为内容管理系统。可能还有更多选择。
这是当今使用的一些最佳PHP框架。
- laravel -https://laravel.com/
- symfony -https://symfony.com/
- CodeIgniter - https://www.codeigniter.com/
- Zend Framework / Laminas项目-https://getlaminas.org/
- CakePHP - https://cakephp.org/
- Yii - https://www.yiiframework.com/
- Slim - https://www.slimframework.com/
- FuelPHP - https://fuelphp.com/
拉拉维尔
让我们开始使用Laravel,因为它是当今最受欢迎的。
您可以下载并在此处查看文档:https://laravel.com/
Laravel于2011年启动,目前在2022年发布的版本9版中。要使用9版,您必须使用PHP版本大于8。
很容易开始使用开箱即用的虚拟开发环境Laravel Homestead。 Laravel Homestead是一个官方的预包装的Vagrant Box,可为您提供出色的开发环境,而无需您在本地计算机上安装PHP,Web服务器或任何其他服务器软件。不再担心弄乱您的操作系统。
如果您是Mac用户,则还可以选择使用Laravel代客作为开发环境。 Laravel代客还支持Symfony,Cakephp 3,Slim和Zend以及WordPress
- Laravel使用称为Blade的模板引擎。与其他模板引擎相比,它具有一个优势是您可以在刀片中使用PHP。
- PackAlyst是Laravel软件包的集合,可以在项目中使用15,000多个软件包,以帮助您更快地开始。
- Laravel提供了一系列安全功能和方法:用于身份验证,授权,电子邮件验证,加密,哈希和密码重置。
- Laravel的雄辩的Orm和Fluent查询构建器警卫在使用PDO参数绑定时防止SQL注入攻击。
- 使用隐藏的CSRF表格令牌的跨站点请求伪造保护也默认启用。
- 通过允许开发人员自动化重复任务并快速生成骨架代码,Laravel可以加快开发加速开发的工匠控制台命令行。
- Laravel是我尝试过的PHP框架中最快的,Laravel生态系统具有多种有用的工具,例如
- 混音用于编译CSS和JS资产
- oauth身份验证的社交名称
Laravel还受益于WordPress等大型开发人员社区。您可以在Laracasts,学习课程,博客,播客和论坛的学习门户网站上找到它们。 Laravel.io是一个社区门户网站,拥有超过45,000个用户,Laravel甚至拥有50,000名Laravel Artisans的subreddit。
对称
接下来,我们有Symfony,第二次使用的PHP框架。
您可以下载并在此处查看文档:https://symfony.com/
Symfony于2005年启动,目前在2022年发行的6.1.5版中。要使用6.1.5版,您必须使用PHP版本大于8。 p>
Symfony既是PHP框架,也是用于构建网站的PHP组件的集合。 Symfony是需要可扩展的网站和应用程序的绝佳选择。它的模块化组件系统非常灵活,可让您在不强迫使用Bloatware的情况下选择项目所需的组件。
在最受欢迎的PHP框架中,Symfony支持毛毛雨,MySQL,Oracle,PostgreSQL,SAP Sybase SQL Anywhere,SQLite,SQLite和MSSQL等数据库类型。
与数据库互动的最佳方法是通过学说ORM。 Symfony使用数据库映射器将对象映射到数据库。这样可以使您的对象模型和数据库架构分开,这意味着如果您更改数据库列,则无需在代码库中进行任何更改。
内置工具栏调试符号项目非常简单。 Symfony使用Twig模板引擎,这很容易学习,它很快而且很安全。
Packagist列表超过4,000个Symfony软件包可供您下载和使用。
Symfony具有Sensiolabs的商业支持。这意味着可以提供专业支持,与大多数其他PHP框架不同,它还具有长期的支持版本,具有三年的支持。
此外,Symfony社区非常庞大,有超过600,000名开发人员积极参与。
Codeigniter
让我们继续前进。
您可以下载并在此处查看文档:https://www.codeigniter.com/
CodeIgniter于2006年启动,目前已在2022年发布的4.1版上发行。要使用4.1版,您必须使用大于7.4的PHP版本。
CodeIgniter可以帮助您快速构建Web应用程序,因为它具有最小的配置,并且以其速度而闻名。这是我在测试中尝试的四个PHP框架中的第二快。
该框架的占地面积仅为1.2兆字节。所以,没有膨胀。您可以准确添加所需的组件。 CodeIgniter具有灵活性,并通过MVC架构鼓励开发,但是您也可以编码非MVC应用程序。
该框架包括针对CSRF和XSS攻击的防御。另外,上下文敏感的逃避和内容安全策略。
CodeIgniter支持多种缓存方法,以帮助加速您的应用程序。与其他框架相比,Codeigniter具有轻松的学习曲线,并且非常可扩展。
CodeIgniter的社区由一个论坛和Slack Group组成。
Zend Framework / Laminas项目
硬核开发人员的另一个最喜欢的是Zend Framework。
Zend Framework于2006年推出,是一个长期建立的PHP框架,现在已经过渡到Laminas Project。强烈建议迁移到椎板,因为不再更新Zend。
您可以下载并在此处查看文档:https://getlaminas.org/
拉米纳纳斯项目由三个部分组成:
- Laminas组件和MVC
- mezeo
- Laminas API工具
Zend Framework的安装超过5.7亿,是企业和企业最常用的PHP框架。
像Symfony一样,您可以仅使用所需的组件。
Laminas社区有一个论坛和Slack Group进行协作和支持。
与所有其他框架相比,Zend框架的学习曲线可能是最艰难的学习曲线,但是如果您的职业发展,它可以帮助您在许多大型公司中确立自己的全堆栈开发人员。
蛋糕
接下来是一个老人,但是好东西。
您可以下载并在此处查看文档:https://cakephp.org/
cakephp于2005年启动,目前已在2022年发布的4.4版上发行。要使用4.4版,您必须使用大于7.4的PHP版本。
CakePHP快速和干净的PHP开发和配置最少。
您不必弄乱XML或YAML文件。设置数据库后,您可以开始编码。 CakePHP甚至具有自己的内置ORM,快速易于使用。
安全功能包括用于加密的方法,密码哈希,保护表单数据和CSRF保护。
CakePHP的组件和帮助者简化开发并减少您必须完成的日常任务数量。 GitHub拥有可以在项目中使用的CakePHP资源和插件的有用列表。
您可以通过他们的食谱文档,在线培训和Cakefest会议来学习CakePHP。您还可以通过他们的论坛找到友好的Cakephp面包师;堆叠溢出,IRC和Slack。
Pro支持也可以从CakePHP创始人Larry Masters运营的Cakedc获得。
这个框架
接下来,yii。
您可以下载并在此处查看文档:https://www.yiiframework.com/
yii于2006年启动,目前在2022年发布的2.0.46版中。要使用2.0.46版,您必须使用大于7.4的PHP版本。 p>
yii表示中文中简单而进化的。它也代表,是的,它是。
您可以在几分钟之内与YII一起运行并运行,因为文档写得很好且易于遵循。 yii快速,轻巧且易于开始。
YII框架有多种安全措施,例如BCRYPT密码哈希,加密,身份验证和授权。
yii有一个名为GII的代码生成器,可帮助您快速构建骨架代码,从而节省开发时间。
社区通过Slack或IRC提供实时支持。还有一个讨论论坛和社交媒体渠道。社区在名人堂中拥有徽章和参赛作品,以使社区参与并有所帮助。
瘦
需要较小的东西,尝试Slim。
您可以下载并在此处查看文档:https://www.slimframework.com/
Slim于2010年启动,目前在2022年发布的4.10.4版本上。要使用4.10.4版本,您必须使用PHP版本大于7.4。 p>
Slim是一个被剥离的敏捷Micro-PHP框架,重点是接收HTTP请求,调用回调并返回HTTP响应。
Slim的代码库很精致,因为它没有第三方依赖性。结果,它非常快。 Slim特别适合构建小应用程序和API。
如果您需要更多的框架,则Slim与第一方和第三方组件都集成在一起。它很容易学习和理解,您可以在几分钟内构建Hello World应用程序。
Tidelift提供了对Slim的专业支持。
Fuelphp
最后,我列表中最年轻的框架,fuelphp。
您可以下载并在此处查看文档:https://fuelphp.com/
FuelPHP于2014年启动,目前在2021年发布的1.9版。要使用1.9版,您必须使用大于5.3的PHP版本。
FuelPHP是一个社区驱动的PHP框架,其一生中有300多名贡献者。
FuelPHP使用MVC,但也支持HMVC。这在控制器和视图之间添加了另一层。 HMVC设计模式的优点是更好的代码组织,更大的模块化,更扩展的性能,并鼓励代码重用。您可以选择您想要的项目和文件夹结构,因为几乎没有约束。
FuelPHP认真对待安全性,并具有输出编码,CSRF保护,输入,URI和XSS过滤和逃避用户输入之类的功能。
FuelPHP有自己的命令行实用程序,您可以用来运行任务,调试代码并生成通用组件。
FuelphP ORM有效但轻量级。
您可以在他们的论坛以及Facebook和Twitter上加入FuelPHP社区。
对于初学者来说,最好的PHP框架是什么?
初学者的最佳框架是更简单,更精简的框架。如果您只是从PHP框架开发开始,请保持较小并了解有关常用MVC架构的更多信息。学习这个,然后转向更强大的解决方案。
这意味着yii,cakephp和Slim。
如果您有MVC体系结构的经验,则可以从 laravel或codeigniter开始,因为它们的文档非常出色。
如果您要进入企业界,则可能是 zend / laminas项目< / em>,由于其业务实施能力,您将是您学习的最佳途径,但要警告,有一条学习曲线。
您选择的哪个框架将取决于您正在构建的应用程序的类型。有适合所有口味的PHP框架,从超小型到厨房水槽以外的所有东西。