【51CTO.com快译】
由Taylor Otwell于2011年开发的Laravel PHP框架,是软件开发领域的一项创新。它凭借着敏捷的开发方式,在众多PHP框架中脱颖而出。通过它所提供的各项优势和强大的功能,用户可以在遵循MVC模式的基础上,更快地构建出稳定且自定义的Web应用。这些应用不但非常易于维护和升级,而且其模块化和可扩展的代码也便于各类开发人员所理解。
本文将向您介绍什么是Laravel,以及它将如何从九个方面提高Web应用的开发效率和竞争优势:
Laravel框架的历史和演变
Laravel是一个开源框架,旨在利用MVC架构模式,基于Symfony(译者注:一个开源的PHP Web框架)来创建Web应用程序。开发人员可以使用它所提供的各种出色的API,来加快开发的进程,并简化目标网站构建。
自2011年首次被推出以来,Laravel持续得到了迭代。它的每一次升级与发布都会带来新的功能。其中,Laravel 1被设计为CodeIgniter(译者注:一个简单快速的PHP MVC 框架)的替代产品,并且具有对于身份验证、模型、本地化、视图、路由、会话和其他机制的内置支持。
但是,Laravel 1缺少对于控制器的支持,这限制了它成为一款真正的MVC框架(请参见--https://dzone.com/articles/traits-of-net-mvc-framework-for-web-app-developmen)。后续的Laravel 2对此进行了改进。到了Laravel 3发行时,该平台已经拥有了大量基于用户的新功能,其中包括:命令行界面、以及对于数据库管理系统的支持等。
最新版本--Laravel 7于2020年3月3日发布。它提供了诸如:Laravel Airlock、Blade Component Tags、Custom Eloquent Casts、Route Model Binding Improvements、以及Fluent String等功能。
Laravel如何助力Web应用的开发项目
1.提供认证和授权系统
Web应用程序的所有者需要确保不会出现:未经授权的用户能够访问到付费资源的情况。而Laravel恰好为实现身份验证提供了直接的解决方案。通过使用该框架,您可以方便地组织并实现授权的基本逻辑,以及控制用户对于资源数据库的各项输入。
2.为加快Web应用的开发,而提供工具集成
Laravel能够吸引企业用户的一个方面在于:它可以加快开发的速度,并缩短应用程序的面世时间。Laravel通过支持缓存后端,来提高Web应用程序的性能。虽然Laravel被默认配置为使用文件缓存驱动程序,来适合小型项目,但是您也可以构造出多个缓存配置项。
3.针对常见技术漏洞的安全解决方案
包括Web应用在内的所有软件都不可避免地需要处置各类安全问题。而Laravel恰好以其一流的Web安全措施而闻名。它提供了针对各类关键的安全漏洞防护,其中包括:SQL注入、跨站点脚本、以及跨站点请求伪造等。同时,Laravel本身也比其他框架具有更严格的安全特性。它的代码库得到了社区严密审查与保护。
4.与邮件服务的集成
Web应用与邮件服务的集成,能够使您的用户接收到有关成功注册、促销优惠、公告信息等的邮件类通知。Laravel通过SwiftMailer库提供了直接的API,以及SMTP、Mandrill、Mailgun、Amazon SES、SparkPost、PHP的“邮件”功能、和“sendmail”等驱动程序。
完成集成后,应用程序可以通过基于云的服务、或本地服务,来发送各种邮件警报。此外,Laravel还支持通过诸如:SMS和Slack等其他渠道的通知类型。
5.配置错误处理
通常情况下,软件的响应速度、应用程序的性能、可用性、甚至是错误处理(Error Handling)机制,都会直接影响到用户在体验软件时的满意度。
数据输入表单(Data-entry forms)最容易潜藏用户输入中的各项错误。在此类情况发生时,我们需要通过以弹出错误提示的方式告知用户:错误来自用户,而非该应用本身,并且需要引导用户修正其输入信息。
在默认情况下,Laravel为各种新的项目配置了错误与异常处理的功能。此外,该框架也能够与那些支持各种日志处理程序的Monolog(译者注:一种支持PHP 5.3以上的日志记录工具)日志库,集成到一起。
6.自动化测试
测试对于确保Web应用能够按照预期运行,并提供出色的用户体验是至关重要的。如果未经测试,开发人员将无法识别或修复各类缺陷、错误、以及系统崩溃等。而Laravel能够提供自动化测试的内置功能。
现有的PHPUnit(译者注:一种PHP测试框架)已经被包含在Laravel中,并且为Web应用预先安装了phpunit.xml文件。此外,它还允许开发人员模拟最终用户的行为,以便对应用程序开展各项动画类测试。例如:他们可以通过点击链接,请求Web应用,以及填写表单,来分析实际的输出结果。
7.将“业务逻辑代码”与“演示代码”分离
作为一种MVC框架,Laravel能够将逻辑代码与演示代码相分离。据此,HTML布局设计人员可以在无需开发人员介入的情况下,轻松地更改现有的网页设计,进而大幅节省人力成本。此外,如果能够在开发的早期阶段就分离出代码库,那么开发人员也更快地实现各项功能性请求,并修复各种缺陷。
8.计划任务的配置和管理
大多数Web应用都需要某个系统来实现计划任务、或自动化数据库的清理。Laravel不再需要通过生成Cron条目,来安排每天的各项任务,以及将多个Cron条目添加到服务器中。Laravel的命令调度程序允许开发人员在其框架内自行定义命令调度程序,而且服务器端仅需要一个Cron条目即可。
9.队列系统的配置
随着越来越多的流量涌入Web应用,我们往往希望系统能够在持续稳步增加负载的前提下,既保持数据的完整性,又并保障整体的性能与速度。此时,消息队列系统正好可以派上用场。Laravel的队列服务能够提供横跨各种队列后端的统一API。各种队列通过将冗长的任务处理适当地向后推迟,以便Web应用的性能和每分钟能够接收的请求速度得到大幅提升。
用Laravel设计您的Web应用程序
通过上述讨论,我们可以看到Laravel PHP框架不但能够加快Web应用的开发速度,并让Web和移动应用设计人员轻松开展工作,而且能够确保为用户享用到最佳的功能与体验。
原标题:9 Ways Laravel Framework Improves Web App Development ,作者:Waqar Ahmed
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】