簡體   English   中英

當在 PHP 中使用 ::class 但在 Visual Studio Code 中未使用 class 時收到警告的擴展

[英]Extension to get warned when ::class is used in PHP but class is not used in Visual Studio Code

如果您在 PHP 中執行 ::class 但 class 未在文件頂部use d,Visual Studio Code 是否有任何 PHP 擴展可以警告您?

讓我向您展示一個簡單的虛擬示例來證明我的觀點:

<?php

declare(strict_types=1);

namespace Src\Users;

class ExampleClass
{
    protected string $anotherClass = AnotherExampleClass::class;
}

如果您將此代碼復制並粘貼到 VSCode 中的 PHP 項目,它不會以紅色突出顯示$anotherClass聲明,即使AnotherExampleClass未在命名空間行之后use並且是一個 class 與ExampleClass不在同一文件夾中。

這甚至對啟用 PHP Intelephense 和 PHP IntelliSense 擴展的我都不起作用。

提前致謝。

如果你想自動添加 class,你可以使用 spl_auto_register。 因為有時很難跟蹤文件的位置。 例如。

spl_autoload_register(function ($class) {
global $dir;
if (file_exists($dir. $class . ".php")) {
    include $dir. $class . ".php";
} elseif (file_exists($class . ".php")) {
    include  $class . ".php";
}

});

You can check again with  is_file or file_exists .

此文件中沒有語法錯誤。 命名空間未映射到單個目錄,即需要分析所有項目和供應商類(嘗試所有已注冊的自動加載器)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM