您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

Laravel Service Providers问题

2024/4/9 16:35:17发布13次查看
我的思路:
自己写了一个工具类,由于在项目的多个地方都要用到,又不想每次用到都实例化,所以想将这个工具注册到laravel的service container中。但是不幸的是出现了一些问题,下面直接贴上代码和我自己的思路,还请指教哪里出现问题???非常感谢!!!
第一步:首先注册容器
php artisan make:provider qcloudvideoserviceprovider

代码如下:
app->singleton('qcloud.vod', function ($app) { $glass = new qcvod(config('qcloud_key'), config('qcloud_secret')); return $glass->setregion('gz'); }); } /** * get the services provided by the provider. * * @return array */ public function provides() { return ['qcloud.vod']; }}

第二步:注册facades
在app目录下面创建foundation/facades/qcloudfacades.php,代码如下:
[ //... app\providers\qcloudvideoserviceprovider::class,]aliases => [ //... 'qcvod' => app\foundation\facades\qcvodfacades::class,]

第四步:调用
dd(acvod::getregion());

getregion()是工具类中的一个getter方法
问题出现了:
class qcloud.vod does not exist

非常感谢您耐心看完!非常感谢!
求解?
回复内容: 我的思路:
自己写了一个工具类,由于在项目的多个地方都要用到,又不想每次用到都实例化,所以想将这个工具注册到laravel的service container中。但是不幸的是出现了一些问题,下面直接贴上代码和我自己的思路,还请指教哪里出现问题???非常感谢!!!
第一步:首先注册容器
php artisan make:provider qcloudvideoserviceprovider

代码如下:
app->singleton('qcloud.vod', function ($app) { $glass = new qcvod(config('qcloud_key'), config('qcloud_secret')); return $glass->setregion('gz'); }); } /** * get the services provided by the provider. * * @return array */ public function provides() { return ['qcloud.vod']; }}

第二步:注册facades
在app目录下面创建foundation/facades/qcloudfacades.php,代码如下:
[ //... app\providers\qcloudvideoserviceprovider::class,]aliases => [ //... 'qcvod' => app\foundation\facades\qcvodfacades::class,]

第四步:调用
dd(acvod::getregion());

getregion()是工具类中的一个getter方法
问题出现了:
class qcloud.vod does not exist

非常感谢您耐心看完!非常感谢!
求解?
qcloudvideoserviceprovider 处
$this->app->singleton('qcloud.vod', function ($app) { return new qcvod(config('qcloud_key'), config('qcloud_secret'));});
应该是这样了。
暂时没写过“服务提供者”和“门面”,感觉是singleton()这里要写全命名空间。
如果仅仅是作为工具类,请参考 laravel 辅助函数
composer dump-autoload
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product