我有主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中找不到类“控制器”
试图使用名称空间,但这没有用。
答案 0 :(得分:1)
尝试更改
require('system / mvc / controller /'。$ controller。'。php');要求( 'system / lib / php / controller.php');
到
require('system / lib / php / controller.php');要求( '系统/ MVC /控制器/'。 $ controller。'。php');