为什么 Laravel 会成为最成功的 PHP 框架

作者:神秘网友 发布时间:2021-03-02 18:21:03

为什么 Laravel 会成为最成功的 PHP 框架

Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,相关的文档和教程完整而清晰,并为快速、安全地开发现代应用程序提供了必要的功能。在近几年对PHP框架流行度的统计中,Laravel始终遥遥领先。那么是什么让Laravel成为最成功的PHP框架?

为什么 Laravel 会成为最成功的 PHP 框架

2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家。Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理、用户身份验证等各种需求。另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器。

Laravel以其简洁、优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel。本文我们将讨论为什么Laravel会成为最成功的PHP框架。

模块化和可扩展性

Laravel注重代码的模块化和可扩展性。你可以在包含超过5500个程序包的Packalyst目录中找到你想要添加的任何文件。Laravel的目标是让你能够找到任何想要的文件。

微服务和程序接口

Lumen是一个由laravel衍生的专注于精简的微框架。它高性能的程序接口可让你更加简单快速的开发微型项目。Lumen使用最小的配置集成了所有laravel的重要特性,你可以通过将代码复制到laravel项目的方式将完整的框架迁移过来。

php
$app-get('/', function() { return view('lumen'); }); $app-post('framework/{id}', function($framework) { $this-dispatch(new Energy($framework)); });
HTTP路径

Laravel拥有类似于Ruby on Rails的,快速、高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。

HTTP中间件
Route::get('/', function () { 
   return 'Hello World'; 
});

应用程序可受到中间件的保护中间件会处理分析和过滤服务器上的HTTP请求。你可以安装中间件,用于验证注册用户,并避免如跨站脚本(XSS)或其它的安全状况的问题。

php 
namespace App\Http\Middleware; 
use Closure; 
class OldMiddleware { 
  public function handle($request, Closure $next) { 
    if ($request-input('age') = 200) { 
         return redirect('home'); 
    } 
    return $next($request);
  }
}
缓存

你的应用程序可得到一个健壮的缓存系统,通过对其进行调整,可以让应用程序的加载更加快速,这可以给你的用户提供最好的使用体验。

Cache::extend('mongo', function($app) { 
   return Cache::repository(new MongoStore);
});
身份验证

安全是至关重要的。Laravel自带对本地用户的身份验证,并可以使用remember 选项来记住用户。它还可以让你例如一些额外参数,例如显示是否为活跃的用户。

if (Auth::attempt(['email' = $email, 'password' = $password, 'active' = 1 ], $remember)) { 
   // The user is being remembered... 
}
各种集成

Laravel Cashier可以满足你要开发支付系统所需要的一切需求。除此之外,它还同步并集成了用户身份验证系统。所以,你不再需要担心如何将计费系统集成到开发当中了。

$user = User::find(1);
$user-subscription('monthly')-create($creditCardToken);
任务自动化

Elixir是一个可让我们使用Gulp定义任务的Laravel程序接口,我们可以使用Elixir定义可精简CSS 和JavaScript的预处理器。

elixir(function(mix) { 
   mix.browserify('main.js');
 });
加密

一个安全的应用程序应该做到可把数据进行加密。使用Laravel,可以启用OpenSSL安全加密算法AES-256-CBC来满足你所有的需求。另外,所有的加密值都是由检测加密信息是否被改变的验证码所签署的。

use Illuminate\Contracts\Encryption\DecryptException; 
try { 
   $decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) { 
   // 
}
事件处理

应用程序中事件的定义、记录和聆听都非常迅速。EventServiceProvider事件中的listen包含记录在你应用程序上所有事件的列表。

protected $listen = [
  'App\Events\PodcastWasPurchased' = [ 
     'App\Listeners\EmailPurchaseConfirmation',
  ],
];
分页

在Laravel中分页是非常容易的因为它能够根据用户的浏览器当前页面生成一系列链接。

php 
namespace App\Http\Controllers; 
use DB; 
use App\Http\Controllers\Controller; 
class UserController extends Controller { 
  public function index() { 
    $users = DB::table('users')-paginate(15);
    return view('user.index', ['users' = $users]);
  }
}
对象关系化映射(ORM)

Laravel包含一个处理数据库的层,它的对象关系化映射被称为Eloquent。另外这个也适用于PostgreSQL。

$users = User::where('votes', '', 100)-take(10)-get();
foreach ($users as $user) { 
  var_dump($user-name);
}
单元测试

单元测试的开发是一个耗费大量时间的任务,但是它却是保证我们的应用程序保持正常工作的关键。Laravel中可使用PHPUnit执行单元测试。

php 
use Illuminate\Foundation\Testing\WithoutMiddleware; 
use Illuminate\Foundation\Testing\DatabaseTransactions; 
class ExampleTest extends TestCase { 
  public function testBasicExample() { 
    $this-visit('/')-see('Laravel 5')-dontSee('Rails');
  }
}
待办事项清单

Laravel提供在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。

Queue :: push ( new  SendEmail ( $ message ));

本文章教程介绍完毕,更多请访问跳墙网其他文章教程!

为什么 Laravel 会成为最成功的 PHP 框架 相关文章

  1. 写好 Git Commit 信息的 7 个建议

    介绍: 为什么好的提交信息如此重要 当你随意浏览任一 git 仓库的日志,你很可能会发现其中的提交信息或多或少有点乱。举个例子,瞧一瞧我早先提交到 Spring 上的这些宝贝: $ git log --oneline -5 --author cbeams --before "Fri Mar 26 2009" e5f4b49 Re-a

  2. 为什么 UDP 有时比 TCP 更有优势

    随着网络技术飞速发展,网速已不再是传输的瓶颈,UDP协议以其简单、传输快的优势,在越来越多场景下取代了TCP,如网页浏览、流媒体、实时游戏、物联网。 1,网速的提升给UDP稳定性提供可靠网络保障 CDN服务商Akamai报告从2008年到2015年7年时间,各个国家网

  3. 如何在 CentOS 7 / Ubuntu 15.04 上安装 PHP 框架 Laravel

    大家好,这篇文章将要讲述如何在 CentOS 7 / Ubuntu 15.04 上安装 Laravel。如果你是一个 PHP Web 的开发者,你并不需要考虑如何在琳琅满目的现代 PHP 框架中选择,Laravel 是最轻松启动和运行的,它省时省力,能让你享受到 web 开发的乐趣。Laravel 信奉着

  4. 容器向死而生的一生

    尼奥: 为什么那些程序会被删除 先知: 或许发生故障了,或许有更好的程序替代它,这种事天天发生,一旦这种事情发生了,程序就会躲在母体里或是选择回到万物之源。 重启是一个具有哲学意义的话题,比如《黑客帝国》中特工史密斯可以随时在一个身体上重启自

  5. 为什么 Chrome 又不支持我的 HTTP/2 网站了

    昨晚偶尔清理 Chrome 插件时发现我的 HTTP/2 and SPDY indicator插件好像好久没亮了。这个插件在你访问到一个支持 HTTP/2 (或之前的 SPDY 协议)的网站时会点亮,而我明明记得之前专门让 https://linux.cn/支持了 HTTP/2 。 我的第一反应是不是这个插件有问

  6. 为什么我们的微信文章版式比较好看

    不知道多少次了,我在微信公众号后台收到询问你们的微信文章版式是怎么做的等问题了。其实,我本来觉得这没什么值得问的,也不值得保密,但是总是有人问,我觉得还是写一篇小文来介绍一下吧,下次有人问我,我就直接丢链接好了~ 我本身不是做美工和 UI/UE 出

  7. Root 是谁为什么会有 Root 账户

    在 Linux 中为什么会有一个名为 root 的特定账户?该怎么使用 root 账户?它在哪些场景下必须使用,哪些场景下不能使用?对于以上几个问题,如果您感兴趣的话,那么请继续阅读。 本文中,我们提供了一些关于 root 账户的参考资料,方便您了解。 root 是什么

  8. Kubernetes 为什么这么重要

    在开发和部署云原生应用程序时,运行容器化负载的 Kubernetes 平台起到了重大作用。 自然而然的,开发和部署云原生应用程序已经变得非常受欢迎。对于一个允许快速部署和连续交付的 bug 修复和新功能的流程来说,它有明显的优势,但是没有人会谈到鸡和鸡蛋问

  9. 备份与恢复

    为什么要备份 灾难恢复:硬件故障、软件故障、自然灾害、黑客攻击、误操作;测试: 注意的要点: 能容忍最多丢失多少数据;恢复数据需要在多长时间内完成;需要恢复哪些数据;(1)做还原测试,用于测试备份的可用性;(2)还原演练; 备份类型: 完全备份,

  10. 为什么要在 Docker 中使用 R 一位 DevOps 的看法

    R 语言,一种自由软件编程语言与操作环境,主要用于统计分析、绘图、数据挖掘。R 内置多种统计学及数字分析功能。R 的另一强项是绘图功能,制图具有印刷的素质,也可加入数学符号。引自维基百科。 已经有几篇关于为什么要在 Docker 中使用 R 的文章。在这篇

每天更新java,php,javaScript,go,python,nodejs,vue,android,mysql等相关技术教程,教程由网友分享而来,欢迎大家分享IT技术教程到本站,帮助自己同时也帮助他人!

Copyright 2020, All Rights Reserved. Powered by 跳墙网(www.tqwba.com)|网站地图|关键词