ООП: использование экземпляра класса в другом классе

  • Автор темы Автор темы 6epcepk
  • Дата начала Дата начала
itprog



вообщето в ООП предусмотрены свойства :)

PHP:
setRequest($request) - Устанавливает объект Request 
getRequest() - Возвращает объект Request

а это pear, оно конечно замечательно, но затачивалось под 4-ку

-~{}~ 14.05.08 17:15:

whirlwind
что эта запись лучше?
PHP:
$result=$this->_connection->Connect($this->Host,$this->UserName,$this->UserPassword,$this->DatabaseName);

ну кому как. )
 
>что эта запись лучше?

Наступит момент и ты поймешь, что ускорить процесс разработки можно не только сокращением количества набираемых символов. И что $a,$b,$c - это анекдот в коде

Я печатаю со скорость 1000 знаков в минуту. Правда нихрена непонятно (с) Народ
 
Автор оригинала: itprog
BrigadeFuhrer
ты о чем? какие свойства, какой pear? :)
Брось, ты же не хочешь сказать, что нет различий между полями класса и свойствами, или вообще что это такое. )

-~{}~ 14.05.08 17:27:

Автор оригинала: whirlwind
>что эта запись лучше?

Наступит момент и ты поймешь, что ускорить процесс разработки можно не только сокращением количества набираемых символов. И что $a,$b,$c - это анекдот в коде

Я печатаю со скорость 1000 знаков в минуту. Правда нихрена непонятно (с) Народ
ну вот я не печатаю с такой скоростью, и поэтому сокращаю имена. не думаю что это имеет отношение к ООП.

-~{}~ 14.05.08 17:28:

itprog
"у нас", поясни pls.
 
Вообще тему пора переводить в отдельный тред :)

ООП придумали для людей, а не для компьютера. Компьютеру наплевать в каком стиле написан код. И твое

PHP:
$лдн->сгнПлц();

непонятно другим людям. Процесс понимания на порядок выше, когда код выглядит

PHP:
$ладонь->согнутьПалец();
 
конечно, очень компактно ))
PHP:
$ладонь->согнутьПалец(reset($ладонь->Пальцы->Разогнутые));
 
itprog, вообще в моем коде с _ начинаются только поля имееющие максимальную видимость protected, все публичные методы и свойства обзываются по смыслу. исключение состоявляет InputManager
 
BrigadeFuhrer
используй нормальный редактор и не экономь на буковках, а то сам через год ноги в коде сломаешь

-~{}~ 14.05.08 17:46:

и вообще, срач откатился далеко от темы, у бедного топикстартера, наверное, уже крыша поехала
 
Автор оригинала: Long
а где-то утверждалось, что функции ядра покрыть весь вспомогательный функционал? единственная задача ядра быть загруженным первым и обеспечить взаимодействие всех остальных модулей системы.
а если мне не нужны другие модули, зачем мне тогда ядро?
 
$offtop {
Стоило 1 день не следить за темой, столько всего появилось (:

Хорошо сказано про эволюцию программиста, осваиваю 3-ю ступень.

Про именование полностью согласен: лучше длинные имена, но
все понятно. Хотя если в приложении используются устоявшиеся имена, то почему бы и не сократить (как выше видел, dataSource => ds и т.д.).
}

Работа продвигается, но наткнулся на делему: подгружаю блоки. Каждый блок - класс Block, один из методов которого возвращает содержимого. Загрузка блоков - в цикле, по очереди:
PHP:
for (;;) {
    require '';
    $result = Block::run();
}
Соответственно грузится только первый блок, на втором уже появляется критическая ошибка о дублировании класса. Конечно, самый простой выход - давать уникальные имена классам и в цикле использовать вызов пользовательской функции.
Недавно видел тему про "выгрузить из памяти скрипт, вызванный через require" - самого улыбнуло, тут такая же смешная вещь: как бы сделать redeclare класса. Хотя наверно надо по первому пути идти..
 
6epcepk, каждый блок, это ОБЪЕКТ класса Block, не надо делать статику и сушить мозг по надуманной проблеме.
 
Ну вот не могу понять...
ЗАЧЕМ ДЛЯ КАЖДОГО МОДУЛЯ ДЕЛАТЬ СОБСТВЕННЫЙ КЛАСС?
Что бы засунуть туда целых 3 функции и пару свойств ?
 
Делать микс между ООП и процедурным подходом? Классы ядра, утилит, бд и т.п., а модули просто отдельно функциями? Не красиво...
 
А ты выдели КАКИЕ процедуры тебе нужны в модуле, которые нужно вызывать ядром ?
 
Ядром вызывается всего одна процедура - инициализация модуля, он уже подгружает нужные ему процедуры (например для новостей: список категорий, список новостей, вывод новости).
 
А что мешает модуль засунуть в отдельный файл
И при вызове модуля из ядра, тупо инклудить его?
А уже в модуле подгружать нужные тебе либы, классы и проч....
Зачем модуль загонять в отдельную функцию?
 
Сверху