1. STRELOK - 13 Января, 2010 - 12:22:58 - перейти к сообщению
Можно ли каким то образом формировать поля и методы у класса?
2. JustUserR - 13 Января, 2010 - 14:38:48 - перейти к сообщению
STRELOK пишет:
Однако философский вопрос - я всегда думал что класс как правило состоит из свойств (В вашей термилоногии полей) и методов - и собственно все ООП на этом и базируется Можно ли каким то образом формировать поля и методы у класса?
Если вы имеете в виду чтобы поля и методы имел сам класс а не его экземпляры то это тоже возможно - просто укажите слово static в определении - а если речь идет о динамических переменных то объявляйте их ИМЯ_КЛАССА::$ИМЯ_ПЕРЕМЕННОЙ (Также можно обращаться и к статическим методам)
3. STRELOK - 13 Января, 2010 - 15:05:44 - перейти к сообщению
Вот класс::переменная это возможно то что нужно. Не подскажешь где можно конкретно об этом прочитать?
Да, и сразу меня интересует вот какой вопрос. Может это и глупо Но, известно имя класса и имя модуля где этот класс определен. Возможно ли каким то образом, создать экземпляр этого класса только по его имени?
Да, и сразу меня интересует вот какой вопрос. Может это и глупо Но, известно имя класса и имя модуля где этот класс определен. Возможно ли каким то образом, создать экземпляр этого класса только по его имени?
4. JustUserR - 13 Января, 2010 - 20:51:15 - перейти к сообщению
STRELOK пишет:
Это очень распространенный вопрос - можете в любом поисковике поискать PHP ООПВот класс::переменная это возможно то что нужно. Не подскажешь где можно конкретно об этом прочитать?
STRELOK пишет:
Возможно - например с помощью eval("\$var_name= new $class_name"); где в переменной $class_name хранится имя класс а экзамепляр будет создан в переменной $var_name
Да, и сразу меня интересует вот какой вопрос. Может это и глупо Но, известно имя класса и имя модуля где этот класс определен. Возможно ли каким то образом, создать экземпляр этого класса только по его имени?
5. STRELOK - 13 Января, 2010 - 21:35:26 - перейти к сообщению
JustUserR пишет:
Возможно - например с помощью eval("\$var_name= new $class_name"); где в переменной $class_name хранится имя класс а экзамепляр будет создан в переменной $var_name
Спасибо
6. Nestor - 13 Января, 2010 - 22:35:41 - перейти к сообщению
Можно и без eval.
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $newClass_1 = new $className;
- $newClass_2 = new $className($param1,$param2,...,$paramN);