Для того, чтобы виделись переменные из включённого ранее файла, надо использовать global. Это очевидно. Но это - плохой стиль программирования ИМХО, поскольку можно "случайно" запороть значение какой-нибудь настройки и долго удивляться, какого фига...
Также можно сделать конфиг классом. В принципе, ничего сложного. Разумеется, класс настроек должен быть реализован в виде синглетона. ИМХО, наилучший вариант - это статический класс, а чтение настроек будет осуществляться как \Python\Config::get('Database')->name (метод get возвращает объект-прокси, который хранит вычитанную информацию, он же возвращается при всех последующих запросах, это обеспечивает lazy read, чтобы не читать ненужные конфиги).
Самое правильное - это использовать средства, предлагаемые фреймворком. Так, я пользую Kohana, там это будет Kohana::$config->load('Database')->name. Для других фреймворков будет также что-то сходное.
|