HraKK
Допустим, нам надо сначала собрать базовый массив критически важных данных
PHP:
class logic
{
public function __construct()
{
// Set of minimal needed system data
$this->data = array();
$this->data['query_string'] = NULL;
$this->data['ajax'] = false;
$this->data['lang'] = 'ru';
$this->data['application'] = 'site';
$this->data['module'] = 'pages';
$this->data['filter'] = NULL;
$this->data['page'] = false;
$this->data_index = 0;
$this->path = trim($_GET['path']);
$this->url_parts = explode('/',$this->path);
$this->count_url_parts = count($this->url_parts);
}
}
Для этого примера в конструктор я подумываю добавить ссылку на массив $sys_config, который будет кормить некоторые данные, например:
PHP:
$sys_config['apps'] = array('site'=>'site (fontend)','adm'=>'control panel (backend)');
И вот вопрос, стоит ли его отдавать как аргумент или достаточно объявить оператором global $sys_config;
Ведь далее будет:
PHP:
$application = $this->url_parts[0];
if(!array_key_exists($application,$sys_config['apps']))
$application = 'site'; // :TODO: data with the first key
else
$this->data_index++;
define('_APPLICATION',$application); // _APPLICATION
Очевидно, что массив $sys_config лишь читается и ВСЕ!
Такой же пример и на практике для ф-ии mod(_MODULE,_ACTION); внутри кторой глобалом подтягиваются более 7 массивов и переменных исключительно для чтения и выполнения своей локальной конечной функции.