Как объявить переменную в 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;
Другие вопросы по тегам