为什么Laravel是最成功的PHP框架?

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

时间: 2024-12-06 07:24:50

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

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

为什么 Laravel 会成为最成功的 PHP 框架? Laravel是一个有着美好前景的年轻框架,它的社区充满着活力,相关的文档和教程完整而清晰,并为快速.安全地开发现代应用程序提供了必要的功能.在近几年对PHP框架流行度的统计中,Laravel始终遥遥领先.那么是什么让Laravel成为最成功的PHP框架? 作者:回忆和感动来源:慧都控件网|2015-10-13 14:08 收藏 分享 2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家.Larav

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

2011年,Taylor Otwell将Laravel作为一种包含全新现代方法的框架介绍给大家.Laravel最初的设计是为了面向MVC架构的,它可以满足如事件处理.用户身份验证等各种需求.另外它还有一个由管理数据库强力支持,用于管理模块化和可扩展性代码的软件包管理器. Laravel以其简洁.优雅的特性赢得了大家的广泛关注,无论是专家还是新手,在开发PHP项目的时候,都会第一时间的想到Laravel.本文我们将讨论为什么Laravel会成为最成功的PHP框架. 模块化和可扩展性 Laravel

Laravel 和 Spring Boot 两个框架比较创业篇(二:人工成本)

前面从开发效率比较了 Laravel 和 Spring Boot两个框架,见:Laravel 和 Spring Boot 两个框架比较创业篇(一:开发效率) ,这一篇打算比较一下人工成本. 本文说的人工成本是狭义的技术支出成本.当然人工成本不单纯是开发人员的人工成本,同时包含了团队协作管理.架构设计.运维等方面的人工(团队)成本. 本文从以下几个维度分析: 程序员 技术管理 程序员 相信这个是大家比较关注的维度,很好理解,就是要根据需求撸一套产品出来,无论是后端.前端.APP还是小程序.中台,都

PHP 之 Laravel 框架安装及相关开源软件

Laravel 被称为简洁.优雅的PHP开发框架,但第一次接触此框架的人有不少都卡在了安装上,其实在 Linux 下只需要很简单的几步就可以搞定,这里我们以 CentOS 下 PHP + Nginx + Mysql 的环境为例. 首先需要了解 Laravel 安装依赖,比如 Laravel4.2 就有下面的要求: PHP >= 5.4 - MCrypt PHP 扩展 最主要的是 PHP 版本,正常安装的话相关扩展应该都会包含 另外你的系统需要有 Composer,一个 PHP 依赖管理工具,没装

《PHP框架Laravel学习》系列分享专栏

<PHP框架Laravel学习>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201735.html 文章 Laravel教程:laravel 4安装及入门 Laravel4中文手册下载 Laravel配置教程 Laravel生命周期介绍 Laravel路由教程 Laravel请求和输入 Laravel响应和视图 Laravel控制器 PHP开发框架Laravel数据库操作方法总结 Laravel框架数据库CURD操作.连贯操作总结 L

详细说明php的4中开源框架(TP,CI,Laravel,Yii)

ThinkPHP简称TP,TP借鉴了Java思想,基于PHP5,充分利用了PHP5的特性,部署简单只需要一个入口文件,一起搞定,简单高效.中文文档齐全,入门超级简单.自带模板引擎,具有独特的数据验证和自动填充功能,框架更新速度比较速度. 优点:这个框架易使用 易学 安全 对bae sae支持很好提供的工具也很强大 可以支持比较大的项目开发 易扩展 全中文文档 总的来说这款框架适合非常适合国人使用 性能 上比CI还要强一些 缺点:配置对有些人来说有些复杂(其实是因为没有认真的读过其框架源码)文档有

Laravel 框架版本如何选择

说明 很久以前在一个话题里面聊到的观点,很多同学在 Laravel 版本选择时候比较混淆,这里说下我的看法. 对 Laravel 框架发布周期不熟悉的同学请参阅 - Laravel 的发布路线图. 什么是 LTS 长期支持 (LTS)是一种软件的产品生命周期政策,特别是开源软件,它增加了软件开发过程及软件版本周期的可靠度.长期支持延长了软件维护的周期:它也改变了软件更新(补丁)的类型及频率以降低风险.费用及软件部署的中断时间,同时提升了软件的可靠性.但这并不必然包含技术支持. 在长期支持周期的开

Laravel框架怎样使用阿里云ACE缓存服务

Laravel框架怎样使用阿里云ACE缓存服务 之前我写了一篇在 Laravel 4 框架中使用阿里云 OCS 缓存的文章.介绍了怎样通过扩展 Laravel 4 来支持须要 SASL 认证的阿里云 OCS 缓存服务.有网友问我.ACE 的缓存怎么在 Laravel 4 中使用.我本来认为应该能够全然用同样的办法,后来自己尝试的时候才发现,ACE 的缓存区别很大.所以再写一篇,介绍一下怎样在 Laravel 框架中使用阿里云 ACE 的缓存服务. 怎样扩展 Laravel 的缓存驱动 在 Lar

Laravel框架如何使用阿里云ACE缓存服务

Laravel框架如何使用阿里云ACE缓存服务 之前我写了一篇在 Laravel 4 框架中使用阿里云 OCS 缓存的文章,介绍了如何通过扩展 Laravel 4 来支持需要 SASL 认证的阿里云 OCS 缓存服务.有网友问我,ACE 的缓存怎么在 Laravel 4 中使用.我本来觉得应该可以完全用相同的办法,后来自己尝试的时候才发现,ACE 的缓存差别非常大.所以再写一篇,介绍一下如何在 Laravel 框架中使用阿里云 ACE 的缓存服务. 如何扩展 Laravel 的缓存驱动 在 La