Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Composer未找到Php psr-4类错误_Php_Composer Php_Psr 4 - Fatal编程技术网

使用Composer未找到Php psr-4类错误

使用Composer未找到Php psr-4类错误,php,composer-php,psr-4,Php,Composer Php,Psr 4,我试图在“wamp服务器”上用php来练习MVC概念 在本地目录下,我有一个index.php页面,用于使用alto router包进行基本路由,还有一个routes.php文件: <?php $router->map('GET','/test', 'Acme\Controllers\PageController@test' ,'test'); php是 <?php namespace Acme\Controllers; use Acme\Testing\Test;

我试图在“wamp服务器”上用php来练习MVC概念

在本地目录下,我有一个index.php页面,用于使用alto router包进行基本路由,还有一个routes.php文件:

<?php
  $router->map('GET','/test', 'Acme\Controllers\PageController@test' ,'test');
php是

<?php namespace Acme\Controllers;

use Acme\Testing\Test;

class PageController
{
  public function test(){
    include(__DIR__ . "/../../views/test.php");
    //---Deleted lines
    $test = new Test; 
    $test -> test();
    /---
  }

}

正如我在评论中所说,问题在于名称空间不正确

我为将来可能会发现这个问题的人创造了这个答案

您有一个名为source的目录,其名称空间为Acme。在名为acme的源文件夹中添加另一个目录时,命名空间将为:

Acme\acme

您必须将acme文件夹更改为Testing以获得正确的名称空间。

这是Windows/WAMP,因此可能不是区分大小写的问题(尽管区分大小写很重要),但是如果您将这些目录从
acme,controllers
重命名为
acme,controllers
,结果是否相同?另请参见名称空间错误。它应该是\Acme\Acme,因为您的测试类不在映射内Testing@MichealMichael Berkowski我更改了目录名,然后编写了var dump autoload..但仍然找不到类。。在routes.php文件中,我使用名称空间和works@Szenis是正确的..在我将acme目录名更改为Testing之后,它工作了..谢谢。。
<?php namespace Acme\Testing;

class Test{
  public function test(){
    echo "Working";
  }
}
<?php
 echo "TEST PAGE <br>";
Acme\acme