我正在尝试为laravel编写一个包。我想使用facade
并使用::
调用一些动态类,如下所示:
Zaya::test();
因此,我结构是/packages/company/zaya
,下面是我为包编写的代码:
"extra": {
"laravel": {
"providers": [
"Company\\Zaya\\ZayaServiceProvider"
],
"aliases": {
"Zaya": "Company\\Zaya\\ZayaFacade"
}
}
这是我的风格:
protected static function getFacadeAccessor()
{
return 'zaya';
}
这是我的服务提供商:
// Register the main class to use with the facade
$this->app->singleton('zaya', function () {
return new Zaya;
});
最后这是我的课
<?php
namespace company\Zaya;
class Zaya
{
public function test()
{
return 123;
}
}
现在在我的控制器中,当我调用:
dd(Zaya::test());
我得到这个错误:
"message": "Non-static method Company\\Zaya\\Zaya::test() should not be called statically",
1条答案
按热度按时间7rfyedvj1#
您可以使用
app
帮助器解析该类:使用方法: