找不到PHP类别的控制器

时间:2018-07-07 09:21:42

标签: php

我有主index.php文件,可以在其中调用其他控制器,这很好。

我用 call_user_func_array([$ obj,$ method [0]],$ params);

例如,我首先包含控制器,然后将其称为。我的控制器称为HomeController,这是我如何包含和调用它的示例。

require( 'system/mvc/controller/'. $controller .'.php' );
$obj = new $controller;
call_user_func_array( [ $obj, $method[ 0 ] ], $params );

这没关系,而且可以正常工作。

所以我的system / mvc / controller / HomeController.php看起来像这样:

<?php

class HomeController
{

    public function test()
    {
        echo 'Something!';
    }

   }

    ?>

这没关系。现在,我试图包括main controller.php文件,它将扩展我的HomeController。所以在我的index.php文件中,我包含了system / lib / php / Controller.php,现在在index.php中代码看起来像这样

require( 'system/mvc/controller/'. $controller .'.php' );
require( 'system/lib/php/controller.php' );
$obj = new $controller;
call_user_func_array( [ $obj, $method[ 0 ] ], $params );

然后在HomeController中,我使用了 Class HomeController扩展Controller ,但出现了以下错误: 致命错误:在第3行的/var/www/html/system/mvc/controller/HomeController.php中找不到类“控制器”

试图使用名称空间,但这没有用。

1 个答案:

答案 0 :(得分:1)

尝试更改

  

require('system / mvc / controller /'。$ controller。'。php');要求(   'system / lib / php / controller.php');

  

require('system / lib / php / controller.php');要求(   '系统/ MVC /控制器/'。 $ controller。'。php');