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

BrigadeFuhrer

Новичок
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);
ну кому как. )
 

whirlwind

TDD infected, paranoid
>что эта запись лучше?

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

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

BrigadeFuhrer

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

-~{}~ 14.05.08 17:27:

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

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

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

-~{}~ 14.05.08 17:28:

itprog
"у нас", поясни pls.
 

whirlwind

TDD infected, paranoid
Вообще тему пора переводить в отдельный тред :)

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

PHP:
$лдн->сгнПлц();
непонятно другим людям. Процесс понимания на порядок выше, когда код выглядит

PHP:
$ладонь->согнутьПалец();
 

BrigadeFuhrer

Новичок
конечно, очень компактно ))
PHP:
$ладонь->согнутьПалец(reset($ладонь->Пальцы->Разогнутые));
 

BrigadeFuhrer

Новичок
itprog, вообще в моем коде с _ начинаются только поля имееющие максимальную видимость protected, все публичные методы и свойства обзываются по смыслу. исключение состоявляет InputManager
 

AmdY

Пью пиво
Команда форума
BrigadeFuhrer
используй нормальный редактор и не экономь на буковках, а то сам через год ноги в коде сломаешь

-~{}~ 14.05.08 17:46:

и вообще, срач откатился далеко от темы, у бедного топикстартера, наверное, уже крыша поехала
 

джамшут

Новичок
Автор оригинала: Long
а где-то утверждалось, что функции ядра покрыть весь вспомогательный функционал? единственная задача ядра быть загруженным первым и обеспечить взаимодействие всех остальных модулей системы.
а если мне не нужны другие модули, зачем мне тогда ядро?
 

6epcepk

Новичок
$offtop {
Стоило 1 день не следить за темой, столько всего появилось :)

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

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

Работа продвигается, но наткнулся на делему: подгружаю блоки. Каждый блок - класс Block, один из методов которого возвращает содержимого. Загрузка блоков - в цикле, по очереди:
PHP:
for (;;) {
    require '';
    $result = Block::run();
}
Соответственно грузится только первый блок, на втором уже появляется критическая ошибка о дублировании класса. Конечно, самый простой выход - давать уникальные имена классам и в цикле использовать вызов пользовательской функции.
Недавно видел тему про "выгрузить из памяти скрипт, вызванный через require" - самого улыбнуло, тут такая же смешная вещь: как бы сделать redeclare класса. Хотя наверно надо по первому пути идти..
 

dimagolov

Новичок
6epcepk, каждый блок, это ОБЪЕКТ класса Block, не надо делать статику и сушить мозг по надуманной проблеме.
 

cDLEON

Онанист РНРСlub
Ну вот не могу понять...
ЗАЧЕМ ДЛЯ КАЖДОГО МОДУЛЯ ДЕЛАТЬ СОБСТВЕННЫЙ КЛАСС?
Что бы засунуть туда целых 3 функции и пару свойств ?
 

6epcepk

Новичок
Делать микс между ООП и процедурным подходом? Классы ядра, утилит, бд и т.п., а модули просто отдельно функциями? Не красиво...
 

cDLEON

Онанист РНРСlub
А ты выдели КАКИЕ процедуры тебе нужны в модуле, которые нужно вызывать ядром ?
 

6epcepk

Новичок
Ядром вызывается всего одна процедура - инициализация модуля, он уже подгружает нужные ему процедуры (например для новостей: список категорий, список новостей, вывод новости).
 

cDLEON

Онанист РНРСlub
А что мешает модуль засунуть в отдельный файл
И при вызове модуля из ядра, тупо инклудить его?
А уже в модуле подгружать нужные тебе либы, классы и проч....
Зачем модуль загонять в отдельную функцию?
 
Сверху