在Slim 3中找不到控制器

问题描述

我是苗条的新手,所以请多多包涵。 我有类似的项目结构

\slim
  \public
    index.PHP
    
  \src
    \controllers
         \reports
        BillingReportController.PHP
       \routes
         router.PHP
       \config
         db.PHP

但是每当我通过路由调用控制器时,都会出现以下错误

PHP致命错误:在第13行的/var/www/html/apimod/public/index.PHP中找不到类'src \ controllers \ reports \ BillingReportController'”

对于错误提及的行,代码段如下。

index.PHP

$container = $app->getContainer();
$container['BillingReportController'] = function($container){
    return new \src\controllers\reports\BillingReportController;
}; 

router.PHP

$app->group('/report',function() use ($app) {

  $app->get('/billing','BillingReportController:billing');
});

BillingReportController.PHP

namespace src\controllers\BillingReportController;

class BillingReportController{
    public function billing($request,$response){
        //my code goes here
    }
}

任何人都可以指出错误

解决方法

您必须在作曲家中使用自动加载功能。像这样的东西。

"autoload": {
"psr-4": {
  "src\\": "src"
 }
}

然后在您的终端中输入此命令

composer dump-autoload

它应该解决您的问题

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...