Как объявить переменную в index.php и получить доступ в каждом контроллере opencart php
У меня есть следующий кусок кода, чтобы проверить, работает API или нет:
try {
$api = new SoapClient(API_URL,array(
'exceptions' => true,
));
$api_conn = $api->queryCategories(array('params' => array('usertoken' => USER_TOKEN)));
$registry->set('api',$api);
$api_status = true;
} catch( SoapFault $e) {
$api_status = false;
}
Я пытаюсь установить статус для API как true
или же false
так что я могу использовать его там, где мне нужно, но я не могу получить доступ $api_status
в любом из контроллеров.
Где я должен объявить это для доступа во всем мире?
2 ответа
Решение
Используйте переменную $GLOBALS
$GLOBALS['api_status'] = $api_status;
в другом сценарии PHP...
if($GLOBALS['api_status']){
//....
}
см. http://www.php.net/manual/en/reserved.variables.globals.php
Я думаю, если вы хотите, чтобы любая переменная, доступная глобально в каждом контроллере, перейдите к
yourproject/system/engine/controller.php
здесь вы можете определить переменную
eg: protected $api_status = 1;
Теперь вы можете использовать значение $api_status
с любого контроллера, использующего
$this->api_status;