我已经开始使用Symfony构建一个新的Web应用程序,但是在使用类时遇到了问题。
PhpStorm能够找到类中的函数(因为它在您键入$className->
时提供了建议。
另外,为了证明这与其他类似的问题不一样,我已经过度简化了,即便如此,错误仍然存在。
我在DefaultController中有以下内容:
<?php
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Request;
use testBundle;
use AppBundle\domainionClasses\firstlevelchecks;
class DefaultController extends Controller
{
/**
* @Route("/register",name="register")
*/
public function registerAction(){
$testClass = new firstlevelchecks();
$testing = $testClass->donothing(); //the IDE knows that the function donothing() exists, in fact it suggests it.
return new Response('');
}
}
以下是位于AppBundle/domainionClasses/test1.php
<?php
namespace AppBundle\domainionClasses;
class firstlevelchecks
{
function donothing(){
return null;
}
}
加载/register
路由时,会显示以下Symfony错误:
尝试加载课程&#34; firstlevelchecks&#34;来自命名空间&#34; AppBundle \ domainionClasses&#34;。 你忘记了&#34;使用&#34;另一个命名空间的语句?
它正在尝试从正确的名称空间加载类,并且我使用了一个use语句。
我在这里缺少什么,或者Symfony有问题吗?这是我第一次使用新版本的PhpStorm,刚刚下载了插件,这也是我第一次遇到这个问题:(
答案 0 :(得分:5)
由于您的文件名为test1.php
,自动加载器如何知道要包含哪个文件?
您应该将其重命名为firstlevelchecks.php
(=您班级的名称和案例)。