Laravel9 常用自定义函数部署应用(1)
平时写代码总有一些习惯的函数,如生成随机值:
/**
* 随机值
* @param $len 长度
* @return string
*/
function randomStr($len){
return Str::random($len);
}
1、自定义函数放置路径:
app/Helpers/function.php
app/Helpers/common.php
app/Helpers/constants.php
function.php|common.php|constants.php 放自己自定义的函数
2、如何控制器使用和引用
引用设置:
App\Providers\目录下,新建文件:HelperServiceProvider.php
代码如下:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
class HelperServiceProvider extends ServiceProvider
{
/**
* Register services. 批量关联引用了app/Helpers/目录下的文件
* @author wilson lee
* @return void
*/
public function register()
{
foreach (glob(app_path('Helpers') . '/*.' . 'php') as $file) {
require_once $file;
}
}
/**
* Bootstrap services.
* @return void
*/
public function boot()
{
}
}
app\config\app.php 里找到
'providers' => [
//..原来内容...
//..原来内容...
App\Providers\HelperServiceProvider::class, // 增加部分
]
加上:“App\Providers\HelperServiceProvider::class,”
在App\Http\Controllers\CategoriesController.php 里调用
<?php
namespace App\Http\Controllers;
use App\Services\CategoriesService;//接口业务逻辑处理
use App\Traits\ApiResponse;//统一处理数据格式
use Illuminate\Http\Request;
/**
* Categories 接口控制器
* @desc 分类模块
*/
class CategoriesController extends Controller
{
use ApiResponse; //统一处理数据格式--引用
protected $service;
public function __construct()
{
$this->service = new CategoriesService();//接口业务逻辑处理--引用
}
/**
* 分类:新增单条数据
* @desc 权限:-
* @return int 新增ID
* @method POST
*/
public function store(Request $request)
{
$fields = verifyInputParams($request, $this->getRules()['store']);
$result = $this->service->store($fields);
return $this->formatUniteResult($result);
//统一处理数据格式--调用ApiResponse->formatUniteResult($result)
}
}
函数名:verifyInputParams,功能:校验输入参数,是否必填、属性、默认值、最大值、最小值, 此函数我放在了app/Helpers/function.php 中,你也可以根据你的习惯放在app/Helpers/目录下的任何文件中,因为我们已经写好了,批量引用,注意的是,函数名称不能重名,会冲突报错的。
此方法我也网上搜索所得,供新手学习。
本作品采用《CC 协议》,转载必须注明作者和本文链接
建议了解 composer autoload files