Получить даные в классе из вне

Статус
В этой теме нельзя размещать новые ответы.

designf

Постоялец
Регистрация
24 Май 2009
Сообщения
104
Реакции
8
У меня есть класс.
В классе есть функция которая получает данные из конфигурационного файла. Для этого подключает этот файл:

PHP:
public function __mydata($vData = 0)
	{
		require_once 'config_data.php';
                $this->_cdata = $myPerem;

Т.е. он считал с конфига переменную $myPerem;

Когда скрипт работает отдельно, все отлично. Но дело в том что файл конфига нужно подключать не в классе, т.к. он используется в целом и для других настроек.

Т.е.

PHP:
require_once 'config_data.php';

По идеи не должно быть, он должен подключится в основном скрипте. А как мне тогда передать переменные в этот класс из этого файла.

Переменных много, поэтому использовать типа

new myClass ($p1,$p2, ..., $pn) - не хочется.

Есть способы? Пробовал объявить глобальные переменные в функции - не помогло.
 
можно в начале скрипта обьявить переменные как константы через define

или когда надо обновить переменные для класса
$myclass = new MyClass();
$myclass->_cdata = "новое значение";
$myclass->run();
$myclass->_cdata = "новое значение2";
$myclass->run();
 
наверное нужно пробывать первый вариантр, второй не подходит.
 
A что мешает сделать не require_once, а просто require? Ну подключится файл с обяъвлением переменных внутри класса второй раз, да и бог с ним.

ЗЫ. А вообще, я бы объявил переменные конфигурации глобальными или константами, а то изврат какой-то получается. Каждую переменную отдельно выдирать в класс... бррр.
 
A что мешает сделать не require_once, а просто require? Ну подключится файл с обяъвлением переменных внутри класса второй раз, да и бог с ним.
ЗЫ. А вообще, я бы объявил переменные конфигурации глобальными или константами, а то изврат какой-то получается. Каждую переменную отдельно выдирать в класс... бррр.

А как объявить? Через define?

Добавлено через 12 минут
define - только string, а мне нужно и числа передать в класс.
 
Для переменных, которые используются во многих классах сделать массив и передавать его в обьект.
А вообще можно сделать конфиг сам обьектом и вызывать переменную через метод _get() появляется возможность для обработки переменной, допустим проверка её существования.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху