';从不使用别名';我的PHP文件中的PHPStorm错误消息

';从不使用别名';我的PHP文件中的PHPStorm错误消息,php,composer-php,phpstorm,autoload,psr-0,Php,Composer Php,Phpstorm,Autoload,Psr 0,我按照安装说明安装PHP RAML解析器 我运行了composer install并创建了下面的index.php,但它不工作,我得到一个错误: 在第83行的/cygdrive/c/src/myapp/Raml/Parser.php中找不到类“Raml\ParseConfiguration” 当我将鼠标悬停在行use\Raml\Parser上时,会收到PHPStorm警告消息(别名从未使用) Myindex.php: <?php require ('Raml/Parser.php'); u

我按照安装说明安装PHP RAML解析器

我运行了
composer install
并创建了下面的
index.php
,但它不工作,我得到一个错误:

在第83行的/cygdrive/c/src/myapp/Raml/Parser.php中找不到类“Raml\ParseConfiguration”

当我将鼠标悬停在行
use\Raml\Parser
上时,会收到PHPStorm警告消息(别名从未使用)

My
index.php

<?php
require ('Raml/Parser.php');
use \Raml\Parser; // Alias \Raml\Parser is never used
$parser = new \Raml\Parser();

前提是文件
Raml/Parser.php
包含:

namespace Raml;

class Parser {}
您可以这样做:

require ('Raml/Parser.php');
$parser = new \Raml\Parser();
或者这个:

require ('Raml/Parser.php');
use \Raml\Parser;
$parser = new Parser();

use
将类/接口/特征导入到当前命名空间中,并允许使用较短的名称,而不是完全限定的退格名称。它还允许通过仅更改
use
语句而不是整个类中的每个名称引用来切换到不同的类,但这一好处非常小,因为使用PHPStorm本身带来了一些强大的重命名功能。

前提是文件
Raml/Parser.php
包含:

namespace Raml;

class Parser {}
您可以这样做:

require ('Raml/Parser.php');
$parser = new \Raml\Parser();
或者这个:

require ('Raml/Parser.php');
use \Raml\Parser;
$parser = new Parser();

use
将类/接口/特征导入到当前命名空间中,并允许使用较短的名称,而不是完全限定的退格名称。它还允许仅通过更改
use
语句切换到不同的类,而不是整个类中的每个名称引用,但这一好处非常小,因为使用PHPStorm本身带来了一些强大的重命名功能。

您拥有
use\Raml\Parser但在创建类实例时指定FQN——在这种情况下,实际上不需要使用
use
line。尝试使用
$parser=newparser()相反。另外--我想指出,“未找到类”问题与PhpStorm给您的警告无关--这些是独立的问题但在创建类实例时指定FQN——在这种情况下,实际上不需要使用
use
line。尝试使用
$parser=newparser()相反。另外--我想指出,“未找到类”问题与PhpStorm给您的警告无关--这些是独立的问题。愚蠢的我忘记了自动加载文件,但这让我走上了正确的轨道愚蠢的我忘记了自动加载文件,但这让我走上了正确的轨道