laravel 如何实现 Tp 里面的 common 自定义函数,不用配置composer.json,一次教会你
1.看过网上很多例子,都是用composer.json去弄,个人觉得很麻烦,所以用了另一种方法,首先执行一下命令
php artisan make:provider HelperServiceProvider
2.app\Providers 会出现刚才创建的文件,然后我们在register()方法里面添加如下代码
$helpersPath = app_path('Helpers'); foreach (glob("$helpersPath/*.php") as $file) { require_once $file; }
3.看下完整的代码
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; class SdkServiceProvider extends ServiceProvider { /** * Register services. * * @return void */ public function register() { // $SdkPath = app_path('Sdk'); foreach (glob("$SdkPath/*/*.php") as $file) { require_once $file; } } }
4.第四步就是在config/app.php 里面的 providers 里面配置一下,记得放在 AppServiceProvider 前面
'providers' => [ // .... App\Providers\HelperServiceProvider::class, App\Providers\AppServiceProvider::class, App\Providers\AuthServiceProvider::class, // App\Providers\BroadcastServiceProvider::class, App\Providers\EventServiceProvider::class, App\Providers\RouteServiceProvider::class, ],
5.在app目录下创建Helpers文件夹(这里不一定是这个名字,你可以自己定义其他名字,不过需要和第二步的配置目录地址文件夹一致的名字)
6.在Helpers文件夹下面创建php函数,比如创建common.php,然后开始编写函数即可
<?php if (!function_exists('pf')) { function pf($param) { echo '<pre>'; print_r($param); } }
7.在action里面直接调用即可,无需引入命名空间,原理和tp是一样的
8.通过以上方法,你还可以封装自己的sdk,当然有人会说sdk不都是用composer嘛,我只能说,不是所有第三方对接公司都有,很多时候人家demo都没有,全靠看人家的文档手搓sdk

浙公网安备 33010602011771号