PhpStorm 自动包含使用过的 PHP 个文件
PhpStorm auto include used PHP files
我希望 PhpStorm 自动包含我在各自的 .php
文件中使用的 (include_once
) PHP 个文件。
简单示例:MyTestClass.php
:
<?php
namespace Test;
class MyTestClass
{
public function sayHello()
{
echo "hello world";
}
}
当我在我的 index.php
文件中使用这个 class 时,只有命名空间被自动插入:
<?php
use Test\MyTestClass;
$test = new MyTestClass();
$test->sayHello();
但这在 PHP 中不起作用。我必须包含包含 class:
的 PHP 文件
<?php
include_once('./namesapce.php');
use Test\MyTestClass;
$test = new MyTestClass();
$test->sayHello();
PhpStorm 是否可以在 include_once
的帮助下自动插入这些文件?
没有。 PhpStorm 做不到。
而且实现的可能性极小。
原因很简单:现在是 2022 年,PHP 具有 class 自动加载功能很多年了(因为 PHP 5 是 2004 年):
- https://www.php.net/manual/en/language.oop5.autoload.php
- https://www.php.net/manual/en/function.spl-autoload-register.php
顺便说一句:您可以为此目的使用 Composer 自动加载器。它快速且易于使用。
您使用的是自定义库或框架吗?如果是,那么很可能您已经使用 Composer 安装了它。如今,它已成为安装 PHP 包(管理依赖项)和 classes 自动加载的标准工具。
您只需要告诉您在 composer.json
文件中的 classes 和 require_once 实际自动加载器的位置。
我希望 PhpStorm 自动包含我在各自的 .php
文件中使用的 (include_once
) PHP 个文件。
简单示例:MyTestClass.php
:
<?php
namespace Test;
class MyTestClass
{
public function sayHello()
{
echo "hello world";
}
}
当我在我的 index.php
文件中使用这个 class 时,只有命名空间被自动插入:
<?php
use Test\MyTestClass;
$test = new MyTestClass();
$test->sayHello();
但这在 PHP 中不起作用。我必须包含包含 class:
的 PHP 文件<?php
include_once('./namesapce.php');
use Test\MyTestClass;
$test = new MyTestClass();
$test->sayHello();
PhpStorm 是否可以在 include_once
的帮助下自动插入这些文件?
没有。 PhpStorm 做不到。
而且实现的可能性极小。
原因很简单:现在是 2022 年,PHP 具有 class 自动加载功能很多年了(因为 PHP 5 是 2004 年):
- https://www.php.net/manual/en/language.oop5.autoload.php
- https://www.php.net/manual/en/function.spl-autoload-register.php
顺便说一句:您可以为此目的使用 Composer 自动加载器。它快速且易于使用。
您使用的是自定义库或框架吗?如果是,那么很可能您已经使用 Composer 安装了它。如今,它已成为安装 PHP 包(管理依赖项)和 classes 自动加载的标准工具。
您只需要告诉您在 composer.json
文件中的 classes 和 require_once 实际自动加载器的位置。