laravel5.5 如何创建Facades并使用

laravel Facades概念略,自行百度。

如何创建Facades使用
步骤1. 创建一个php文件,App\Utils\SmsSend.php。
<?php

namespace App\Utils;
class SmsSend
{
public function send()
{
echo "发送短信";
}
}

步骤2. 创建服务提供器App\Providers\SmsServiceProvider.php,绑定SmsSend类到服务提供器。
<?php

namespace App\Providers;

use App\Utils\SmsSend;
use Illuminate\Support\ServiceProvider;

class SmsServiceProvider extends ServiceProvider
{
/**
* Bootstrap the application services.
*
* @return void
*/
public function boot()
{
}

/**
* Register the application services.
*
* @return void
*/
public function register()
{
\App::bind('sms', function () {
return new SmsSend();
});
}
}
步骤3. 创建一个Facade类,App\Facades\SmsFacades.php。
<?php

namespace App\Facades;

use Illuminate\Support\Facades\Facade;

class SmsFacades extends Facade
{
public static function getFacadeAccessor()
{
return 'sms';// 这个sms和SmsServiceProvider类中register方法中bind的名称要一样[即:\App.bind('这名称',……)。
}
}

步骤4. 在config\app.php中providers数组中加一个服务提供器,在aliases数组中加一个别名。
'providers' => [
……
App\Providers\SmsServiceProvider::class,
]
……
'aliases' => [
……
'Sms' => \App\Facades\SmsFacades::class,
]

步骤5. 在app\routes\web.php中加入路由。
Route::get('/sms', function () {
return Sms::send();
});

 

猜你喜欢

转载自www.cnblogs.com/yejianhui/p/12196452.html