как грамотно спроектировать вызов статичных методов наследуемого класса

да нет же
вообше не про то речь
надо чтоб могли переопределять
вопрос как указать вызов статического метода не зная конкретного имени класса-наследника
 
(Задумчиво)

1. Хотим вызвать метод, не зная имени класса. Т.е. не вот так: "Foo::bar()". Нет у нас Foo.
2. Поскольку мы непременно хотим статический -- значит, у нас нет экземпляра объекта. Т.е. не вот так: "$foo->bar()". Нет у нас $foo.

IMHO, эта феерическая картина не может породить ничего кроме обычной функции. :)
 
Crazy
+
навевает мысли о каком-то неправильном стремлении "к наследованию namesapace'ов с перегрузкой"
=)
 
Лысый

Давай проще напиши премер кода
как ты хочешь и что выззывать
ну для примера есть класс А его наследует класс б
и вот нужно сделать вот так
так будет проще и тебе и отвечющим и возможно твой пример снимит все вопросыы.
p/s
ФАНАТ тереяет хватку топик не в той ветке или корупция... :)
 
Я вот никак не могу понять, а нафига нужно новый метод, не связанный с объектом, писать в потомке?
Если имя класса неизвестно, да еще и объекта нет, то смысл в расширении класса отсутствует.
Следовательно, ответом на вопрос "как грамотно спроектировать" является слово "RTFM".
 
всегда удивлялся когда начинаются рассуждения типа зачем и тд или появляются умные советы типа "RTFM".

смысл в расширении класса всегда может быть, если речь идёт об использовнии чьей-либо библиотеки. отсюда же и незнание имени класса-потомка.
странно если было бы иначе.

пример приводить сложно - слишком много объяснять

вобщем я просто переделал модель, сделал метод обычным, а не статичным и вызываю его используя фабрику объектов.

всё.
 
Автор оригинала: Лысый
всегда удивлялся когда начинаются рассуждения типа зачем и тд
...однакож:

вобщем я просто переделал модель, сделал метод обычным, а не статичным и вызываю его используя фабрику объектов.
...что показало уместность вопросов "зачем". Ответ оказался простым: "незачем". Ибо ЭТОГО хотеть действительно было не нужно. И альтернативное решение оказалось простым и разумным.
 
;)
ну можно и так сказать
но я склонен думать иначе:
ответ был НЕЛЬЗЯ НИКАК
поэтому переделал

на счёт нужно не нужно - я столнулся с данностью - наследование такого класса
выбора нет


а на счёт непременимости статик методов в потомках - спорный вопрос
если класс юзается отдельно это ничему не мешает
а таких примеров много
 
Не помню, чтобы кто-то говорил о неприменимости статик-методов в потомках. Говорили о другом.
 
Re: Re: как грамотно спроектировать вызов статичных методов наследуемого класса

Автор оригинала: Crazy
Если человек оверрайдит статические методы, то это первый признак того, что ему нужно сделать паузу, отдохнуть и задуматься о смысле жизни.

Если человек находится в здравом уме и твердой памяти, то оверрайдить статические методы он не станет (разве что под угрозой страшных пыток). Соответственно, проблема снимается сама собой.

P.S. До сих пор я думал, что единственный язык, где действительно работает override для методов класса -- Object Pascal. Но и там, я уверен, если не вылечили, то скоро вылечат.
ты сам и писал
 
Лысый, у тебя русский язык -- родной?

Где ты здесь видишь слова о том, что в потомках нельзя использовать статические методы?
 
ну давай не будем уподобляться Фанату и придераться к словам
я думаю из хода разговора понятно, что я имел в виду невозможность в коде вызывать переопределённый статический метод

думаю тему можно считать закрытой
 
Автор оригинала: Лысый
ну давай не будем уподобляться Фанату и придераться к словам
я думаю из хода разговора понятно, что я имел в виду невозможность в коде вызывать переопределённый статический метод
Друг мой, ты вроде как не на общественно-политическом форуме, правда? Так что впредь старайся находить в себе силы писать именно то, что имеешь в виду, а не "вы там догадайтесь".
 
Лысый

Так все же интересно, у тебя была реальная необходимост именно переопределять стат. метод? Т.е. в каких то случаях юзается родительский, а в каких то - потомка? Любопытно б кода кусочек увидеть :)
 
Кто-то целился в юмор, но промахнулся разделом?
 
респект Crazy за терпимость и желание нести мудрость в массы применительно к конкретным глупостям :)

-~{}~ 29.08.06 23:55:

Лысый
Если 5 человек независимо друг от друга говорят, что я пьян, то я понимаю, что мне все-таки стоит пойти проспаться :)
 
В нормальных ООП-языках эта проблема решается использованием паттерна синглтон, но будет ли он работать в пхп (4-м), я не знаю, скорее всего нет, т.к. отсутствует типизация данных.
 
Сверху