【发布时间】:2016-03-29 13:31:51
【问题描述】:
我一直在关注无框架的 php 教程(相关章节:https://github.com/PatrickLouys/no-framework-tutorial/blob/master/07-inversion-of-control.md)。在扩展它时,作为一个简短的例子,当我实例化类的各种属性时一切正常:
use Http\Request;
class User extends Super_user
{
private $request;
public function __construct(Request $request)
{
parent::__construct();
$this->request = $request;
}
}
但是,当我尝试在父级中设置请求时,我似乎得到了错误:传递给 Namespace\Controllers\Super_user::__construct() 的参数 1 必须是 Namespace\Template\Request 的一个实例,没有给出,调用在...
class User extends Super_user
{
public function __construct()
{
parent::__construct();
}
}
...
use Http\Request;
class Super_user
{
public function __construct()
{
$this->request = $request;
}
}
如果您是 PHP 新手,我们将不胜感激...
【问题讨论】:
-
看起来您混淆了命名空间?您使用 HTTP\Request。但是错误说它需要
must be an instance of Namespace\Template\Request。也许不是,我还没有深入研究 PHP 命名空间(为遗留代码工作万岁)
标签: php class parent-child extends php-5.2