Имею код:
Свернутый текст
PHP |
Class Engine { |
Результат:
PHP |
Class Engine { |
Цитата |
Engine - not set Engine - test1 Ext - test2 Ext - test2 Ext2 - not set |
Цитата |
еще один экземпляр класса Engine |
PHP |
echo ($Ext instanceof Engine); |
PHP |
$Ext->set1('test'); |
Цитата |
Engine - not set |
Цитата (vasa_c @ 15.06.2009 - 12:32) |
или всё же, взять значение из объекта класса Ext в методе объекта класса Ext2? |
Цитата (vasa_c @ 15.06.2009 - 12:32) |
как обычно: $objectClassaExt->svoystvo |
Цитата |
Тоесть системы неких внутренних обращений в родительском классе между дочерними нет? |
Цитата (glock18 @ 15.06.2009 - 12:42) |
Соответственно, при создании объекта оператором new, у тебя в переменной будет не ссылка, а новый объект. |
Цитата (glock18 @ 15.06.2009 - 12:45) |
Нет. |
Цитата (kirik @ 15.06.2009 - 17:47) |
Выходит если у меня 20 дочерних классов вызывают имеют один и тот же родительский, то создатся 20 родительских? Это ведь очень ресурсоемко получается (память съедается)... |
Цитата (kirik @ 15.06.2009 - 17:48) |
Понятно, спасибо! |
Цитата (kirik @ 15.06.2009 - 23:44) |
тоесть эта переменная $objectClassaExt должна быть глобальной (или определенной как global в вызываемом методе объекта)? (чтобы она была доступна в методе объекта класса Ext2). Грубо говоря нужно использовать ту же "ссылку" что при вызове на прямую, что при вызове из какого-либо метода. Тоесть системы неких внутренних обращений в родительском классе между дочерними нет? |
Цитата (kirik @ 15.06.2009 - 21:17) |
Вопрос номер два - как обратиться к свойствам "sibling" класса из соседнего? Например нужно взять значение свойства из класса Ext в классе Ext2? |
PHP |
// определяем класс Ext2 |
PHP |
Class Engine { |
PHP |
class EngineNews .... |
Цитата (kirik @ 15.06.2009 - 20:14) | ||
Еще один вопрос.. Насколько правильно будет сделать так: Свернутый текст
Поясню, такая заморочка на мой взгляд довольно удобна тем, что мы имеем доступ к любому дочернему классу отовсюду (через статичное свойство $instance каждого дочернего класса). |
Цитата (sergeiss @ 15.06.2009 - 15:54) |
Ежели непонятно, то я сделаю примерчик. |
Цитата (kirik @ 16.06.2009 - 01:10) |
Хотя можно что-нибудь придумать через переменные переменные.. |
Цитата (glock18 @ 15.06.2009 - 16:07) |
Это паттерн singleton |
Цитата (kirik @ 15.06.2009 - 21:31) |
Тоесть на практике singleton и определение свойства в родительском классе, содержащим ссылку на дочерний не особо различаются? |
PHP |
static public $instance = null; |
Цитата |
Сейчас просто сижу разбираю готовые wordpress и cakephp |
Цитата (glock18 @ 16.06.2009 - 00:35) |
Могу посоветовать посмотреть Yii. |
Цитата (sergeiss @ 16.06.2009 - 04:28) |
kirik - ну и к чему пришел в итоге? |
Цитата (kirik @ 16.06.2009 - 18:37) |
Пока я пришел к абсолютно запутанным мыслям в голове. Немного нужно разобрать все по полкам.. Как уложу все прочитанное и узнанное во что-нибудь более вменяемое, приду просить советов |
Цитата (sergeiss @ 16.06.2009 - 18:54) |
Я вот что подумал... Ты хотел С++ заниматься? Так вот там - одни сплошные классы smile.gif А в ПХП - упрощенный вариант. Поняв там - лучше поймешь тут. |
Цитата (sergeiss @ 16.06.2009 - 13:54) |
Ты хотел С++ заниматься? Так вот там - одни сплошные классы |
Цитата (kirik @ 17.06.2009 - 00:37) |
Именно поэтому я решил сначала разобраться с классами в php, а потом учить C++ |
Цитата (sergeiss @ 16.06.2009 - 23:46) |
Ну, или хотя бы в параллель |