2017-07-26 152 views
1

enter image description herePhpStorm - 上Laravel某些警告门面

  1. 我做Laravel的外墙使用权和PhpStorm给我的警告,这是为什么?

  2. 而在图像上,我指出“x”表示某些...类型的数据?在我使用的函数中,为什么有这些?如何删除它们?

+0

[这是phpstorm 2017.1的一个特性](https://blog.jetbrains.com/phpstorm/2017/03/new-in-phpstorm-2017-1-parameter-hints/)。博客链接还提供有关如何删除它的说明:*“或者,您可以通过导航到编辑器|常规|外观并取消选择显示参数名称提示来完全关闭提示。”* – h2ooooooo

+0

那么外墙警告怎么办? @ h2ooooooo –

+1

您不使用外墙。您已经导入了类,在第一个类中,IDE告诉您get方法不是静态方法。 –

回答

6

使用外墙与Laravel

Luke Waite is right

您没有使用外墙。您已经导入了类,并且首先在类别上,IDE告诉您get方法不是 静态方法。

只需导入外观(如果存在)。

有关如何使用available facadeshow to define your own的详细信息,请参阅documentation on Facades

的立面类应该是这样的:

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命令,用于生成仅供IDE解析的php文件。

安装

需要使用下面的命令这个包与作曲家:

composer require barryvdh/laravel-ide-helper 

更新作曲家后,服务提供者添加到提供商 阵列中config/app.php

Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class,为了 仅在开发系统上安装此软件包,请添加--dev f滞后 您作曲家命令:

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。

自动PHPDoc的一代对于Laravel外立面

现在,您可以重新生成自己的文档(为未来的更新)

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因为你不想犯这些。

+0

不错。非常感谢你。请你能解释我为什么不使用门面?我一直听到这种说法:使用外墙; :< –

+0

@KrystianPolska我更新了答案,以在门面上添加更多信息。 –