答案 0 :(得分:10)
你没有使用外墙。您已经导入了这些类,并且已经导入了 首先,类别,IDE告诉你get方法不是 静态方法。
只需导入外观(如果存在)。
请参阅documentation on Facades,详细了解如何使用available facades和how to define your own。
外观类应如下所示:
use Illuminate\Support\Facades\Facade;
class Cache extends Facade
{
/**
* Get the registered name of the component.
*
* @return string
*/
protected static function getFacadeAccessor()
{
return 'cache';
}
}
'cache'
字符串是service container绑定的名称并在service provider中定义,如下所示:
use App\Cache\MyCache;
use Illuminate\Support\ServiceProvider;
class CacheServiceProvider extends ServiceProvider
{
/**
* Register bindings in the container.
*
* @return void
*/
public function register()
{
$this->app->singleton('cache', function ($app) {
return new MyCache();
});
}
}
话虽这么说,我已经厌倦了警告和失踪的自动完成并突出了立面,所以我也寻找一种方法来解决这些问题。
我遇到laravel-ide-helper,它添加了Laravel CLI命令,这些命令生成的php文件只能由IDE解析。
安装
使用以下命令将此包与composer一起使用:
composer require barryvdh/laravel-ide-helper
更新编辑器后,将服务提供商添加到提供商
中的数组config/app.php
Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class
,To 仅在开发系统上安装此软件包,添加--dev
标志 你的作曲家命令:composer require --dev barryvdh/laravel-ide-helper
在Laravel中,而不是在中添加服务提供者
config/app.php
文件,您可以将以下代码添加到您的app/Providers/AppServiceProvider.php
内的register()
个文件 方法:public function register() { if ($this->app->environment() !== 'production') { $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class); } // ... }
这将允许您的应用程序加载Laravel IDE Helper 非生产环境。
Laravel Facades的自动phpDoc生成
您现在可以自行重新生成文档(以备将来更新)
php artisan ide-helper:generate
注意:
bootstrap/compiled.php
必须先清除,因此请在生成之前运行php artisan clear-compiled
(以及之后php artisan optimize
。您可以将
composer.json
配置为在每次提交后执行此操作:"scripts":{ "post-update-cmd": [ "Illuminate\\Foundation\\ComposerScripts::postUpdate", "php artisan ide-helper:generate", "php artisan ide-helper:meta", "php artisan optimize" ] },
我们会生成.phpstorm.meta.php
和_ide_helper.php
个文件,并且您应该将这些文件添加到.gitignore
,因为您不想提交这些文件。