24

Laravel框架从9处助力Web应用开发

 4 years ago
source link: http://developer.51cto.com/art/202007/621703.htm
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

72809ae5ea1819b92176c1f0603a255f.jpg-wh_651x-s_3437930058.jpg

【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】

【责任编辑:庞桂玉 TEL:(010)68476606】


很遗憾的说,推酷将在这个月底关闭。人生海海,几度秋凉,感谢那些有你的时光。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK