我怎样才能在Opencart的我加载库时传递参数? [关闭]

问题描述 投票:-1回答:1

我需要传递参数给它使用$this->load->library('MyLib')加载我Opencart的库类。麻烦的是,装载机只接受一个参数。我想这样做:

$this->load->library('MyLib', array('parameters') );

如何传递的参数传递给我的库类的数组时,它的加载?

model-view-controller opencart opencart2.x opencart-3
1个回答
1
投票

装载机的library()方法只允许一个参数:$route,幸好$this->registry作为一个参数到库的构造函数。要通过你可以简单地加载你的图书馆像在此之前将它们分配为属性注册表类的其他参数:

$params = [
    'param_1' => 'abc',
    'param_2' => 'def'
];
$this->registry->set('MyLib_params', $params);

// now load your library
$this->load->library('MyLib');

然后,可以在里面访问磁带库的构造像这里面的那个属性:

class MyLib {
    public function __constructor($registry) {
        $this->params = $registry->get('MyLib_params');
        // do stuff with $this->params
    }
}

其实,你可以访问注册表中的任何那里以及这是获得各种配置一样,会议,购物车等有用的数据

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.