作曲家 PHP PSR-4 - 找不到类



我已经用PHP添加了我的命名空间,但无法让它工作。

我的设置做错了什么?当我想打电话给我的测试类时:

https://hilfe.kbs-community.de/index.php?controller=TanoaLife&params=123

我收到错误消息:

未找到类"KWinkel\帮助台\控制器\TanoaLife"

我的设置:

index.php
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
ob_start('ob_gzhandler');
// autoloader 
$Autoloader = require __DIR__ . '/vendor/autoload.php';
$Autoloader->add('KWinkel\Helpdesk\', 'app/');
// controller
if ( isset($_GET["controller"]) ) {
    $Controller = $_GET["controller"];
    if ( file_exists("app/Controller/" . $Controller . ".class.php") ) {
        $Class = "KWinkelHelpdeskController\" . $Controller;
        new $Class($_GET["params"]);
    } else {
        echo "invalid call #1";
    }
} else {
    echo "invalid call #2";
}
$SysContent = ob_get_contents();
ob_end_clean();
echo $SysContent;
?>

app/Controller/TanoaLife.class.php
<?php
namespace KWinkelHelpdeskController;
class TanoaLife extends AbstractController {
    //
    function __construct ($Params) {
        echo "params: " . $Params;
    }
}

?>

您的类文件TanoaLife.class.php应如下所示:

 namespace KWinkelHelpdeskController;
 class TanoaLife {
 }

并应放置在此处:

app/Controller/TanoaLife.class.php

以使用自动加载机。

更新:我宁愿将类文件命名为TanoaLife.php而不是TanoaLife.class.php,或者您必须设置autoloader以包含带有后缀的类.class.php

$Autoloader->addPsr4('KWinkel\Helpdesk\', 'app');

https://github.com/composer/composer/blob/master/src/Composer/Autoload/ClassLoader.php

相关内容

  • 没有找到相关文章

最新更新