Ⅰ laravel中间件类似于拦截器吗
没错,类似过滤器。
get/post请求=>域名=>服务器=>路由=>中间件=>控制器
Ⅱ 怎么禁止laravel自动转义HTML标签
1. 给每个变量加上一个escape过滤器来进行HTML转义。Django刚发布那几年都是这样要求开发人员的。但是,这相当于把责任踢给了开发人员。难免会有人忘记了写这个转义过滤器。
2. 或者你可以选择使用Django的自动HTML转义功能。
Ⅲ 为什么 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的,快速、高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。
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_mp($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)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。
Ⅳ 如何将 Laravel 数据表里的数据导出成 Seeder 文件
/app/config/
配置应用程序的运行时规则、 数据库、 session等等。包含大量的用来更改框架的各个方面的配置文件。大部分的配置文件中返回的选项关联PHP数组。
/app/config/app.php
各种应用程序级设置,即时区、 区域设置(语言环境)、 调试模式和独特的加密密钥。
/app/config/auth.php
控制在应用程序中如何进行身份验证,即身份验证驱动程序。
/app/config/cache.php
如果应用程序利用缓存来加快响应时间,要在此配置该功能。
/app/config/compile.php
在此处可以指定一些额外类,去包含由‘artisan optimize’命令声称的编译文件。这些应该是被包括在基本上每个请求到应用程序中的类。
/app/config/database.php
包含数据库的相关配置信息,即默认数据库引擎和连接信息。
/app/config/mail.php
为电子邮件发件引擎的配置文件,即 SMTP 服务器,From:标头
/app/config/session.php
控制Laravel怎样管理用户sessions,即session driver, session lifetime。
/app/config/view.php
模板系统的杂项配置。
/app/controllers
包含用于提供基本的逻辑、 数据模型交互以及加载应用程序的视图文件的控制器类。
/app/database/migrations/
包含一些 PHP 类,允许 Laravel更新当前数据库的架构并同时保持所有版本的数据库的同步。迁移文件是使用Artisan工具生成的。
/app/database/seeds/
包含允许Artisan工具用关系数据来填充数据库表的 PHP 文件。
/app/lang/
PHP 文件,其中包含使应用程序易于本地化的字符串的数组。默认情况下目录包含英语语言的分页和表单验证的语言行。
/app/models/
模型是代表应用程序的信息(数据)和操作数据的规则的一些类。在大多数情况下,数据库中的每个表将对应应用中的一个模型。应用程序业务逻辑的大部分将集中在模型中。
/app/start/
包含与Artisan工具以及全球和本地上下文相关的自定义设置。
/app/storage/
该目录存储Laravel各种服务的临时文件,如session, cache, compiled view templates。这个目录在web服务器上必须是可以写入的。该目录由Laravel维护,我们可以不关心。
/app/tests/
该文件夹给你提供了一个方便的位置,用来做单元测试。如果你使用PHPUnit,你可以使用Artisan工具一次执行所有的测试。
/app/views/
该文件夹包含了控制器或者路由使用的HTML模版。请注意,这个文件夹下你只能放置模版文件。其他的静态资源文件如css, javascript和images文件应该放在/public文件夹下。
/app/routes.php
这是您的应用程序的路由文件,其中包含路由规则,告诉 Laravel 如何将传入的请求连接到路由处理的闭包函数、 控制器和操作。该文件还包含几个事件声明,包括错误页的,可以用于定义视图的composers。
/app/filters.php
此文件包含各种应用程序和路由筛选方法,用来改变您的应用程序的结果。Laravel 具有访问控制和 XSS 保护的一些预定义筛选器。
Ⅳ Laravel5.2默认会给路由增加Web中间件,怎么禁用掉
模块化扩展性Laravel注重代码模块化扩展性包含超5500程序包Packalyst目录找想要添加任何文件Laravel目标让能够找任何想要文件微服务程序接口Lumen由laravel衍专注于精简微框架高性能程序接口让更加简单快速发微型项目Lumen使用配置集所laravel重要特性通代码复制laravel项目式完整框架迁移get('/',function(){returnview('lumen');});$app->post('framework/{id}',function($framework){$this->dispatch(newEnergy($framework));});HTTP路径Laravel拥类似于RubyonRails快速、高效路由系统让用户通浏览器输入路径式让应用程序各部相关联Route::get('/',function(){return'HelloWorld';});HTTP间件应用程序受间件保护——间件处理析滤服务器HTTP请求安装间件用于验证注册用户并避免跨站脚本(XSS)或其安全状况问题input('age')$email,'password'=>$password,'active'=>一],$remember)){//Theuserisbeingremembered}种类集LaravelCashier满足要发支付系统所需要切需求除外同步并集用户身份验证系统所再需要担何计费系统集发$user=User::find(一);$user->subion('monthly')->create($creditCardToken);任务自化Elixir让我使用Gulp定义任务Laravel程序接口我使用Elixir定义精简CSSJava预处理器elixir(function(mix){mix.browserify('main.js');});加密安全应用程序应该做数据进行加密使用Laravel启用OpenSSL安全加密算AES-二5陆-CBC满足所需求另外所加密值都由检测加密信息否改变验证码所签署useIlluminate\Contracts\Encryption\DecryptException;try{$decrypted=Crypt::decrypt($encryptedValue);}catch(DecryptException$e){//}事件处理应用程序事件定义、记录聆听都非迅速EventServiceProvider事件listen包含记录应用程序所事件列表protected$listen=['App\Events\PodcastWasPurchased'=>['App\Listeners\EmailPurchaseConfirmation',],];页Laravel页非容易能够根据用户浏览器前页面系列链接paginate(一5);returnview('user.index',['users'=>$users]);}}象关系图(ORM)Laravel包含处理数据库层象关系图称Eloquent另外象关系图适用于PostgreSQL$users=User::where('votes','>',一00)->take(一0)->get();foreach($usersas$user){var_mp($user->name);}单元测试单元测试发耗费量间任务却保证我应用程序保持工作关键Laravel使用PHPUnit执行单元测试visit('/')->see('Laravel5')->dontSee('Rails');}}待事项清单Laravel提供台使用待事项清单(todolist)处理复杂、漫流程选择让我异步处理某些流程需要用户持续导
Ⅵ laravel-admin 创建后台的时候,不需要配置路由吗
模块化和可扩展性Laravel注重代码的模块化和可扩展性。你可以在包含超过5500个程序包的Packalyst目录中找到你想要添加的任何文件。Laravel的目标是让你能够找到任何想要的文件。微服务和程序接口Lumen是一个由laravel衍生的专注于精简的微框架。它高性能的程序接口可让你更加简单快速的开发微型项目。Lumen使用最小的配置集成了所有laravel的重要特性,你可以通过将代码复制到laravel项目的方式将完整的框架迁移过来。get(‘/',function(){returnview('lumen’);});$app->post(‘framework/{id}',function($framework){$this->dispatch(newEnergy($framework));});HTTP路径Laravel拥有类似于RubyonRails的,快速、高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。Route::get('/',function(){return'HelloWorld';});HTTP中间件应用程序可受到中间件的保护——中间件会处理分析和过滤服务器上的HTTP请求。你可以安装中间件,用于验证注册用户,并避免如跨站脚本(XSS)或其它的安全状况的问题。input('age’)$email,'password'=>$password,'active'=>1],$remember)){//Theuserisbeingremembered}种类集成LaravelCashier可以满足你要开发支付系统所需要的一切需求。除此之外,它还同步并集成了用户身份验证系统。所以,你不再需要担心如何将计费系统集成到开发当中了。$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来满足你所有的需求。另外,所有的加密值都是由检测加密信息是否被改变的验证码所签署的。useIlluminate\Contracts\Encryption\DecryptException;try{$decrypted=Crypt::decrypt($encryptedValue);}catch(DecryptException$e){//}事件处理应用程序中事件的定义、记录和聆听都非常迅速。EventServiceProvider事件中的listen包含记录在你应用程序上所有事件的列表。protected$listen=['App\Events\PodcastWasPurchased'=>['App\Listeners\EmailPurchaseConfirmation',],];分页在Laravel中分页是非常容易的因为它能够根据用户的浏览器当前页面生成一系列链接。paginate(15);returnview(‘user.index',['users'=>$users]);}}对象关系图(ORM)Laravel包含一个处理数据库的层,它的对象关系图被称为Eloquent。另外这个对象关系图也适用于PostgreSQL。$users=User::where('votes','>',100)->take(10)->get();foreach($usersas$user){var_mp($user->name);}单元测试单元测试的开发是一个耗费大量时间的任务,但是它却是保证我们的应用程序保持正常工作的关键。Laravel中可使用PHPUnit执行单元测试。visit('/’)->see(‘Laravel5’)->dontSee(‘Rails’);}}待事项清单Laravel提供在后台使用待事项清单(todolist)处理复杂、漫长流程的选择。它可以让我们异步处理某些流程而不需要用户的持续导航。
Ⅶ laravel 的 RESTful 控制器的路由规则是怎样的
Laravel的主要技术特点: 1、Bundle是Laravel的扩展包组织形式或称呼。Laravel的扩展包仓库已经相当成熟了,可以很容易的帮你把扩展包(bundle)安装到你的应用中。你可以选择下载一个扩展包(bundle)然后拷贝到bundles目录,或者通过命令行工具“Artisan”自动安装。 2、在Laravel中已经具有了一套高级的PHP ActiveRecord实现 -- Eloquent ORM。它能方便的将“约束(constraints)”应用到关系的双方,这样你就具有了对数据的完全控制,而且享受到ActiveRecord的所有便利。Eloquent原生支持Fluent中查询构造器(query-builder)的所有方法。 3、应用逻辑(Application Logic)可以在控制器(controllers)中实现,也可以直接集成到路由(route)声明中,并且语法和Sinatra框架类似。Laravel的设计理念是:给开发者以最大的灵活性,既能创建非常小的网站也能构建大型的企业应用。 4、反向路由(Reverse Routing)赋予你通过路由(routes)名称创建链接(URI)的能力。只需使用路由名称(route name),Laravel就会自动帮你创建正确的URI。这样你就可以随时改变你的路由(routes),Laravel会帮你自动更新所有相关的链接。 5、Restful控制器(Restful Controllers)是一项区分GET和POST请求逻辑的可选方式。比如在一个用户登陆逻辑中,你声明了一个get_login()的动作(action)来处理获取登陆页面的服务;同时也声明了一个post_login()动作(action)来校验表单POST过来的数据,并且在验证之后,做出重新转向(redirect)到登陆页面还是转向控制台的决定。 6、自动加载类(Class Auto-loading)简化了类(class)的加载工作,以后就可以不用去维护自动加载配置表和非必须的组件加载工作了。当你想加载任何库(library)或模型(model)时,立即使用就行了,Laravel会自动帮你加载需要的文件。 7、视图组装器(View Composers)本质上就是一段代码,这段代码在视图(View)加载时会自动执行。最好的例子就是博客中的侧边随机文章推荐,“视图组装器”中包含了加载随机文章推荐的逻辑,这样,你只需要加载内容区域的视图(view)就行了,其它的事情Laravel会帮你自动完成。 8、反向控制容器(IoC container)提供了生成新对象、随时实例化对象、访问单例(singleton)对象的便捷方式。反向控制(IoC)意味着你几乎不需要特意去加载外部的库(libraries),就可以在代码中的任意位置访问这些对象,并且不需要忍受繁杂、冗余的代码结构。 9、迁移(Migrations)就像是版本控制(version control)工具,不过,它管理的是数据库范式,并且直接集成在了Laravel中。你可以使用“Artisan”命令行工具生成、执行“迁移”指令。当你的小组成员改变了数据库范式的时候,你就可以轻松的通过版本控制工具更新当前工程,然后执行“迁移"指令即可,好了,你的数据库已经是最新的了! 10、单元测试(Unit-Testing)是Laravel中很重要的部分。Laravel自身就包含数以百计的测试用例,以保障任何一处的修改不会影响其它部分的功能,这就是为什么在业内Laravel被认为是最稳版本的原因之一。Laravel也提供了方便的功能,让你自己的代码容易的进行单元测试。通过Artisan命令行工具就可以运行所有的测试用例。 11、自动分页(Automatic Pagination)功能避免了在你的业务逻辑中混入大量无关分页配置代码。方便的是不需要记住当前页,只要从数据库中获取总的条目数量,然后使用limit/offset获取选定的数据,最后调用‘paginate'方法,让Laravel将各页链接输出到指定的视图(View)中即可,Laravel会替你自动完成所有工作。Laravel的自动分页系统被设计为容易实现、易于修改。虽然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_mp($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 框架
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的,快速、高效的路由系统。它可以让用户通过在浏览器上输入路径的方式让应用程序的各部分相关联。
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->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_mp($user->name);
}
单元测试
单元测试的开发是一个耗费大量时间的任务,但是它却是保证应用程序保持正常工作的关键。Laravel中可使用PHPUnit执行单元测试。
<php use="" illuminate\foundation\testing\withoutmiddleware;="" illuminate\foundation\testing\databasetransactions;="" class="" exampletest="" extends="" testcase="" {="" public="" function="" testbasicexample()="" $this-="">visit('/')
->see('Laravel 5')
->dontSee('Rails');
}
}</php>
待办事项清单
Laravel提供在后台使用待办事项清单(to do list)处理复杂、漫长流程的选择。它可以让异步处理某些流程而不需要用户的持续导航。
Queue :: push ( new SendEmail ( $ message ));