laravel创建工具类

以Common工具类为例:

首先先介绍这个类的用法:

在一般控制器中只要 use Common; 然后在方法里面就能调用到Common类里面的方法了,
如Common::getSite();直接能调用到这个方法,一般这种都是比较常用的方法才放到工具类中,这样大家写的方法都能轻易的调用了。

接下来就是如何创建这个工具类:

在app文件夹下面,创建一个服务文件夹名字叫做Services,然后在Services文件夹中创建一个CommonUnit.php里面的内容为:

1
2
3
4
5
6
7
8
9
<?php
namespace App\Services;
/**
* 通用工具服务类
*/
class CommonUtils
{
//写一些通用方法
}
如何才能使这个类生效能在控制器中use Common就能调用到里面的方法呢:

在config配置文件中打开app.php

在’providers’数组中添加:
App\Providers\CommonServiceProvider::class

在’aliases’数组中添加:
'Common' => App\Facades\Common::class

在app文件夹下面创建Facades文件夹:

里面创建一个静态类:
文件名称为Common.php,里面的内容为:

1
2
3
4
5
6
7
8
<?php
namespace App\Facades;
use Illuminate\Support\Facades\Facade;
class Common extends Facade{
protected static function getFacadeAccessor(){
return 'CommonService';
}
}
绑定功能到IOC容器:

在app文件夹下面的Providers文件夹下面创建一个供应商文件,名字为:CommonServiceProvider.php
里面的内容为:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class CommonServiceProvider extends ServiceProvider
{
/**
* Register the application services.
*
* @return void
*/
public function register(){
$this->app->singleton('CommonService', function () {
return new \App\Services\CommonUtils();
});
}
}

这样就大工告成啦!