如果您是使用VS代码的PHP开发人员,则使用PHP Intelephense插件几乎是不费吹灰之力的。它为您的PHP代码提供了极好的智能意义,并使生活更轻松。
它提示您在代码中修复任何未定义的类型,功能,常数,类别,方法或属性。这很棒,这就是我们要安装它的原因。但是,如果您是像我这样的人,他们不希望您的代码中出现任何红色摇摆错误/警告线 - 有时可能有些问题。
让我举一个例子 - 我最近在一个项目中使用了Laravel Livewire,我想从Livewire Component中将一些参数传递给默认的AppLayout
类。
我知道这是一个完全有效的代码,文档中存在layout()
方法。这些参数也是正确的,并且代码在不引发任何错误或异常的情况下起作用。
,但是每次我打开文件时,都会看到这很烦人。要添加更多文件,所有文件和文件夹在我的VS Code Explorer中似乎也为红色(包含错误)。
除了我对此过敏外,实际问题是 - 我不知道VS Code Explorer中的警告是由我的愚蠢代码引起的,还是由于未识别的layout()
方法而引起的。<<<<<<<<<<< /p>
我在Stack Overflow上搜索了一个可能的解决方案。
文章中有几个解决方案:
- 使用Laravel IDE助手:https://github.com/barryvdh/laravel-ide-helper
-
这对我来说太重了,确保那些警告很烦人,但我不想为此安装整个包裹 - 也许这是您的事
-
如果我的解决方案可能无法正常工作,则我将来会切换到
- 使用 _ide_helper.php 并将其在您的代码中使用,就像在此Laracast Video中所解释的那样
- 我喜欢这种方法,它不太重,仍然可以起作用
我最终实现了另一个解决方案。创建一个专门针对警告中显示的方法的助手类。
这是我的做法
-
在
app\Helpers
目录中创建一个新的助手类IntelephenseHelper.php
-
添加以下代码
<?php namespace Illuminate\Contracts\View; use Illuminate\Contracts\Support\Renderable; interface View extends Renderable { /** @return static */ public function layout(); public function slot(); }
警告消失了!
它的作用非常简单且不言而喻。它扩展了接口并添加了显示警告的方法。
不再有红色摇摆不定的警告,也没有更多令人讨厌的红色文件指标。生活又更加简单。
如果您只是从Laravel开始,这是我写的一篇文章,可能对您有用:How to write clean Controllers in Laravel
我希望您能发现这很有价值 - 如果与他们相关的话,很棒的ð与您的人们分享。如果您有任何建议/评论,请自由。
快乐编码!