文档章节

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

slagga
 slagga
发布于 2016/08/14 01:25
字数 991
阅读 373
收藏 5

模块化和可扩展性
  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的,快速、高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。
  Route::get('/', function () { return 'Hello World'; }); HTTP中间件
  应用程序可受到中间件的保护——中间件会处理分析和过滤服务器上的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->subion('monthly')->create($creditCardToken); 任务自动化
  Elixir是一个可让我们使用 Gulp 定义任务的Laravel程序接口,我们可以使用Elixir定义可精简CSS 和Java的预处理器。
  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)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。

© 著作权归作者所有

共有 人打赏支持
slagga

slagga

粉丝 17
博文 137
码字总数 122388
作品 0
深圳
程序员
私信 提问
《PHP框架Laravel学习》系列分享专栏

《PHP框架Laravel学习》已整理成PDF文档,点击可直接下载至本地查阅 https://www.webfalse.com/read/201735.html 文章 Laravel教程:laravel 4安装及入门 Laravel4中文手册下载 Laravel配置教...

开元中国2015
11/06
0
0
laravel 学习笔记——起点

本系列文章主要是方便初学 laravel 的人入门,帮一些朋友认识到如何入门、如何学习 laravel,同时补充一些忽略过的基础知识。 Laravel 给了我学习新知识的一个契机,让我更早的接触更多的东西...

xsctx7788
2016/10/26
21
0
【开源访谈】范圣佑:关于 PHP 和 Laravel 不得不说的事

Laravel 作为一套知名度极广的 PHP 开发框架,素以简洁和优雅著称,那么相比其它 PHP 框架,它具体有哪些独特的优势?本期【开源访谈】邀请到来自台北的范圣佑老师,听听他眼中的 Laravel ,...

王练
2017/07/06
3.3K
24
如何选择一款最适合你的 PHP 框架?

PHP 是世界上最流行的编程语言之一,广泛用于主要的项目中。例如,Facebook 就是利用 PHP 来创建和维护他们的内部系统;WordPress 内部基于 PHP, 作为报答它为超过26%的网站提供了技术支持。...

两味真火
2016/12/26
6K
67
利用 Composer 一步一步构建自己的 PHP 框架(四)——使用 ORM

利用 Composer 一步一步构建自己的 PHP 框架(四)——使用 ORM 本教程示例代码见 https://github.com/johnlui/My-First-Framework-based-on-Composer 回顾 经过前三篇文章 基础准备 、 构建...

蜗牛奔跑
2016/10/15
29
0

没有更多内容

加载失败,请刷新页面

加载更多

如何解决 homebrew 更新慢的问题

之前一直困扰于 Homebrew 的更新速度,曾试过修改更新源(清华、中科大等)的方式,但是并没什么卵用;也试过设置 curl 代理的方式,但是 brew 走的好像不是 curl 的方式,所以也没用。 通过...

whoru
13分钟前
0
0
TiDB EcoSystem Tools 原理解读系列(二)TiDB-Lightning Toolset 介绍

简介 TiDB-Lightning Toolset 是一套快速全量导入 SQL dump 文件到 TiDB 集群的工具集,自 2.1.0 版本起随 TiDB 发布,速度可达到传统执行 SQL 导入方式的至少 3 倍、大约每小时 100 GB,适合...

TiDB
15分钟前
0
0
【Visual Studio 扩展工具】如何在ComponentOneFlexGrid树中显示RadioButton

概述 在ComponentOne Enterprise .NET控件集中,FlexGrid表格控件是用户使用频率最高的控件之一。它是一个功能强大的数据管理工具,轻盈且灵动,以分层的形式展示数据(数据呈现更加直观)。...

葡萄城技术团队
17分钟前
0
0
Maven环境隔离

Maven环境隔离 1. 什么是Maven环境隔离 顾名思义,Maven环境隔离就是将开发中的环境与beat环境、生产环境分隔开,方便进行开发和维护。这个在实际项目中用的还是很多的,如果你的项目用的Mav...

蚂蚁-Declan
17分钟前
1
0
day182-2018-12-19-英语流利阅读-待学习

“性感”时代已去,维密将如何转身? Daniel 2018-12-19 1.今日导读 维多利亚的秘密(Victoria's Secret)这个内衣品牌,最近似乎步入了“中年危机”——曾经打遍天下的“性感”内衣,在主打...

飞鱼说编程
18分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部