Навеяно темой "Объект DB"...

Духовность™

Продвинутый новичок
Навеяно темой "Объект DB"...

В книге "ООП на PHP" (Кузнецов, Симдянов) был пример класса, который "нельзя так писать". Это был класс, отвечающий за запись в файл или что-то типо того. Щас мне лень в книге рыться, искать, но абстрактно он выглядел примерно так:

PHP:
class filer
{
   public function __construct($filename);

   public function write($data);

   public function read();

   // деструктор служил для закрытия файла
}
основная мысль заключалась в том, что функции для работы с файлами отточены по самое немогу и создавать класс подобной функциональности - глупо. Якобы, ООП оперирует объектами реального мира и на этом стоит парадигма объектно-ориентированной модели.

Исходя из этого возникают вопросы:

1. Как можно, например, объяснить повсеместное присутствие в ОО-коде, скажем, объектов для работы с СУБД? Это что, объекты реального мира?

2. Если существует какой-нибудь ADODB, который является почти такой же "оберткой" для стандартных функций взаимодействия с MySql, то почему вышеупомянутый класс не имеет право на жизнь, если вся разница лишь в реализации, а суть остается тажа?
 

zerkms

TDD infected
Команда форума
Исходя из этого возникают вопросы:
эти вопросы возникают потому, что ты слова вышеуказанных авторов ты безоговорочно принял за истину.
"нельзя так писать"
бред. так писать можно (я разрешаю :) ).
 

Alexandre

PHPПенсионер
Как можно, например, объяснить повсеместное присутствие в ОО-коде, скажем, объектов для работы с СУБД? Это что, объекты реального мира?
говорил мой дядя, чтение Советских газет после обеда приводит в язве желудка.
Если существует какой-нибудь ADODB, который является почти такой же "оберткой" для стандартных функций взаимодействия с MySql, то почему вышеупомянутый класс не имеет право на жизнь, если вся разница лишь в реализации, а суть остается тажа?
см выше...
 

Beavis

Banned
Пока все книги этих авторов, которые я видел, мягко говоря, не блещут. А их книга про PHP - вообще ни о чем. Так что их советы я бы даже слушать не стал.
 

phprus

Moderator
Команда форума
triumvirat
Якобы, ООП оперирует объектами реального мира и на этом стоит парадигма объектно-ориентированной модели.
А файл - это не объект реального мира? или СУБД?
Хотя вообще книги, которые такое пишут и дают такие советы нужно издавать в рулонах.

В книге "ООП на PHP" (Кузнецов, Симдянов)
А чем ООП в PHP принципиально отличается от ООП в С++, Java и т.д. ?
Помоему гораздо лучше читать книжки более авторитетных авторов на эту тему, пусть в них и не будет ничего конкретно про PHP.
 

Baranov_Dron

Новичок
"ООП на PHP" (Кузнецов, Симдянов)
Это книга хороший справочник про ООП в php. Какие есть классы отражения ништяк расписано, про конструкторы, деструкторы в php и тд.
Но как обучающее пособие по принципам ООП её действительно рекомендовать нельзя. Только по сути это ман как на php.net только поподробней расписанный.
 

Beavis

Banned
у них, по-моему, все книги это переведенный мануал + немного отсебятины
 

Fred

Новичок
У Лармана в "Введение в объектно-ориентированный анализ" объекты как раз разделены на
- бизнес-объекты, которые представляют модели объектов реального мира
- вспомогательные объекты (pure fabrication), куда как раз и относятся объекты для взаимодействия с БД, файлами, ...
 

Духовность™

Продвинутый новичок
Это книга хороший справочник про ООП в php. Какие есть классы отражения ништяк расписано, про конструкторы, деструкторы в php и тд.
согласен


А чем ООП в PHP принципиально отличается от ООП в С++, Java и т.д. ?
тем, что я PHP читаю и понимаю легко, как второй руский язык, а с С или Явой у меня будут проблемы. В т.ч. и с восприятием паттернов.
 

fixxxer

К.О.
Партнер клуба
Автор оригинала: Fred
У Лармана в "Введение в объектно-ориентированный анализ" объекты как раз разделены на
- бизнес-объекты, которые представляют модели объектов реального мира
- вспомогательные объекты (pure fabrication), куда как раз и относятся объекты для взаимодействия с БД, файлами, ...
зачем так сложно? models и libraries ;)

-~{}~ 18.06.08 22:22:

Автор оригинала: triumvirat
согласен


тем, что я PHP читаю и понимаю легко, как второй руский язык, а с С или Явой у меня будут проблемы. В т.ч. и с восприятием паттернов.
уж что-что, а java воспринимается легко
php5 похож на нее во многом
 

Alexandre

PHPПенсионер
тем, что я PHP читаю и понимаю легко, как второй руский язык, а с С или Явой у меня будут проблемы. В т.ч. и с восприятием паттернов.

уж что-что, а java воспринимается легко
php5 похож на нее во многом
а чем C не похож на пхп??
 

itprog

Cruftsman
Alexandre
синтаксисом оо :) Примеры на java/c# легко воспринимаются даже без знания этих языков
 

Alexandre

PHPПенсионер
ИМХО В случае если в коде на С++ не применяются шаблоны, то если знать php, этот код будет не сложно понимать.
речь шла о СИ
вот как раз синтаксисом они очень похожи, не менее чем java/c#
чем хуже (непонятней) кода пхп, джабы или шарпа?
Код:
	if (0 == mem->inmem_hi) {
	    http_reply *reply = mem->reply;
	    http_version_t version;
	    storeBuffer(entry);
	    httpBuildVersion(&version, 1, 0);
	    httpReplySetHeaders(reply, version, HTTP_OK, "Gatewaying", "text/plain", -1, -1, -2);
	}
 
Сверху