Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


Новое направление Портала RusFAQ.ru:
MosHoster.ru - Профессиональный хостинг

РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 857
от 03.01.2008, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 446, Экспертов: 44
В номере:Вопросов: 1, Ответов: 2

Нам важно Ваше мнение об этой рассылке.
Оценить этот выпуск рассылки >>


Вопрос № 116342: Пожалуйста подскажите, как можно сделать аккуратно вызов функции одного класса из функции другого класса. Каркас в приложении 1. Дело в том, что в нескольких функциях класса b, мне нужно вызывать разные функции из класса a, причем одного...

Вопрос № 116.342
Пожалуйста подскажите, как можно сделать аккуратно вызов функции одного класса из функции другого класса.
Каркас в приложении 1.

Дело в том, что в нескольких функциях класса b, мне нужно вызывать разные функции из класса a, причем одного экземпляра.
в приложении 2 примерная структура.

Как видно, выходит очень громоздко, но по идее работает. Я подозреваю, что есть более правильные решения, но не смог их обнаружить. Объясните как это можно сделать!

p.s.
сновым годом всех!

Приложение:

Отправлен: 29.12.2007, 20:15
Вопрос задал: Талипов А Н (статус: 4-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Товарищ Бородин
Здравствуйте, Талипов А Н!
Во-первых, нужно писать классы и реализовывать их правильно. Это будет гарантировать Вас от их некорректной работы.

Чтобы организовать в одном классе вызов методов(методы - это в данном случае то, что Вы называете функциями) другого класса, действительно нужно в "вызывающем" классе создать свойство, которое и будет объектом вызываемого класса. Правильно у Вас указано - там, где, как Вам почему-то кажется "кошмар", ну и соответственно, там где "совсем ужасно". Почему ужасно-то вдруг, я вот этого не могу понять???!!! Миллионы разработчиков по всему миру используют такой принцип, и не жалуются. Я скажу больше, в данном случае это самая короткая конструкция.

Позволю дать совет - если Вы не уверены, что в Вашей работе Вам нужно ООП, не используйте. ООП - это сила, но только тогда, когда она корректно используется, в других случаях это грабли, на которые наступают неопытные разработчики. Вы сможете плодотворно пользоваться ООП тогда, когда научитесь мыслить категориями объектов. Сначала надо как можно глубже проработать синтаксис, изучить "магические" методы... Да, и кстати, я Вам советую уходить от PHP4, на котором, как я понимаю, Вы пишете, к PHP5. С его помощью Вы сможете почувствовать мощь и возможности ООП.

Напоследок... Воспринимайте класс как модель, в которой Вы описываете объект Вашего класса. Максимально полно описывайте свойства и методы Вашего объекта, при этом не стесняйтесь писанины и конструкций, кажущихся Вам громодзкими. Подходите к делу критически - то, что кажется ужасным Вам, может оказаться вполне обыденным для "тертого" PHP-разработчика.
---------
Ничто не сближает людей так, как совместное преступление.
Ответ отправил: Товарищ Бородин (статус: Практикант)
Ответ отправлен: 29.12.2007, 20:48

Отвечает: Ivol84
Здравствуйте, Талипов А Н!
Может стоит передавать объект в класс, вместо того, чтобы создавать объект внутри класса.
Ответ отправил: Ivol84 (статус: 2-ой класс)
Ответ отправлен: 30.12.2007, 01:36


Вы имеете возможность оценить этот выпуск рассылки.
Нам очень важно Ваше мнение!
Оценить этот выпуск рассылки >>

Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Техподдержка портала, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.67 от 02.01.2008
Яндекс Rambler's Top100
RusFAQ.ru | MosHoster.ru | MosDesigner.ru | RusIRC.ru
Kalashnikoff.ru | RadioLeader.ru | RusFUCK.ru

В избранное