我有一个带有受保护变量的 Laravel 控制器,我想在许多其他控制器中使用它,但是当我尝试在子类中访问它时出现错误:在 nu 上调用成员函数 add()...
我有一个带有受保护变量的 Laravel 控制器,我想在许多其他控制器中使用它,但是当我尝试在子类中访问它时出现错误:
调用 null 上的成员函数 add()
这意味着之前初始化的变量现在为空,我不知道为什么,代码:
class Controller extends BaseController {
protected $ipfs_node_root;
public function __construct()
{
Funcoes::consolelog('Controller::creating ipfs node access point...');
$ipfs_node_root = new IPFS();
}
}
在扩展类中:
class PostController extends Controller {
private function handle(){
Funcoes::consolelog('PostController::handle uploading file content to ipfs node.');
// for the sake of test, I change the _root to _local ipfs_node and it works
$ipfs_node_local = new IPFS();
$arq_hash = $this->ipfs_node_root->add($arq->get());
}
}
该类 PostController
没有__construct。
编辑 我已经向子类添加了 __construct 方法,但错误仍然存在:
public function __construct()
{
parent::__construct();
Funcoes::consolelog('PostController::__construct');
}