Вопрос № 116342: Пожалуйста подскажите, как можно сделать аккуратно вызов функции одного класса из функции другого класса.
Каркас в приложении 1.
Дело в том, что в нескольких функциях класса b, мне нужно вызывать разные функции из класса a, причем одного...
Вопрос № 116.342
Пожалуйста подскажите, как можно сделать аккуратно вызов функции одного класса из функции другого класса.
Каркас в приложении 1.
Дело в том, что в нескольких функциях класса b, мне нужно вызывать разные функции из класса a, причем одного экземпляра.
в приложении 2 примерная структура.
Как видно, выходит очень громоздко, но по идее работает. Я подозреваю, что есть более правильные решения, но не смог их обнаружить. Объясните как это можно сделать!
Отвечает: Товарищ Бородин
Здравствуйте, Талипов А Н!
Во-первых, нужно писать классы и реализовывать их правильно. Это будет гарантировать Вас от их некорректной работы.
Чтобы организовать в одном классе вызов методов(методы - это в данном случае то, что Вы называете функциями) другого класса, действительно нужно в "вызывающем" классе создать свойство, которое и будет объектом вызываемого класса. Правильно у Вас указано - там, где, как Вам почему-то кажется "кошмар", ну и соответственно, там где "совсем ужасно". Почему ужасно-то вдруг, я вот этого не могу понять???!!! Миллионы разработчиков по всему миру используют такой принцип, и не жалуются.
Я скажу больше, в данном случае это самая короткая конструкция.
Позволю дать совет - если Вы не уверены, что в Вашей работе Вам нужно ООП, не используйте. ООП - это сила, но только тогда, когда она корректно используется, в других случаях это грабли, на которые наступают неопытные разработчики. Вы сможете плодотворно пользоваться ООП тогда, когда научитесь мыслить категориями объектов. Сначала надо как можно глубже проработать синтаксис, изучить "магические" методы... Да, и кстати, я Вам советую уходить от PHP4, на котором, как я понимаю, Вы пишете, к PHP5.
С его помощью Вы сможете почувствовать мощь и возможности ООП.
Напоследок... Воспринимайте класс как модель, в которой Вы описываете объект Вашего класса. Максимально полно описывайте свойства и методы Вашего объекта, при этом не стесняйтесь писанины и конструкций, кажущихся Вам громодзкими. Подходите к делу критически - то, что кажется ужасным Вам, может оказаться вполне обыденным для "тертого" PHP-разработчика.
--------- Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Товарищ Бородин (статус: Практикант)
Ответ отправлен: 29.12.2007, 20:48
Отвечает: Ivol84
Здравствуйте, Талипов А Н!
Может стоит передавать объект в класс, вместо того, чтобы создавать объект внутри класса.
Ответ отправил: Ivol84 (статус: 2-ой класс)
Ответ отправлен: 30.12.2007, 01:36