За последние 24 часа нас посетили 215974 программиста и 2195 роботов. Сейчас ищут 1713 программистов ...

Когда нужно использовать объектно-ориентированный подход?

Тема в разделе "PHP для новичков", создана пользователем Koc, 1 дек 2008.

  1. Koc

    Koc Активный пользователь

    С нами с:
    3 мар 2008
    Сообщения:
    2.253
    Симпатии:
    0
    Адрес:
    \Ukraine\Dnepropetrovsk
    Всем здрасте!
    Я - не программист. Но волею судьбы что бы зарабатывать деньги приходится программировать.

    Сейчас занимаюсь одним проектом (инет-магазин) и параллельно работаю в поддержке одной CMS. Вся CMS построена на классах. У меня же, в моем проекте, класс только для шаблонизации и соединения с БД. При этом все запросы идут через гравный-индекс-файл и через recive-файл (принимает данные из форм)

    Файл index.php выглфдит примерно так:

    Код (Text):
    1. //подключаем все необходимое
    2. //инициализируем шаблонизатор, соединение с БД
    3.  
    4. switch($do) {
    5. ....case "list":
    6. //подключаем файл для этого действия includes/list.php
    7. ....break;
    8.  
    9. ....case "show":
    10. //подключаем файл для этого действия includes/show.php
    11. ....break;
    12.  
    13. ....case "compare":
    14. //подключаем файл для этого действия includes/compare.php
    15. ....break;
    16. }
    17. //парсим шаблон, выводим его
    в свою очередь файл list.php имеет подобную структуру:

    Код (Text):
    1. switch($list) {
    2. ....case: "goods"
    3. //туева хуча операторов для вывода товаров (*)
    4. ....break;
    5.  
    6. ....case: "manufacturer"
    7. //туева хуча операторов для вывода производителей и товаров к ним
    8. ....break;
    9.  
    10. ....case: "categories"
    11. //туева хуча операторов для вывода разделов/ктегорий и тд
    12. ....break;
    13. }
    С каждым днем кода становится все больше и больше. Можно, конечно, разбивать его еще на файлы, но я думаю, что проектирую структуру движка как-то неверно. Так вот, объясните мне, может нужно применить ООП? В CMS строка (*) выглядела б так: $obj = new goods(); $obj->setParams($id, бла-бла);

    С другой стороны, что мешает написать $var = goods($id, бла-бла); И классы не нужны.

    Объясните, когда их применять. Понятно, что когда шаблонизация, базы, соединение с фтп, преобразование картинок, то классы приходят на помощь. Возможно, когда обрабатываем бб-коды. А еще когда?
     
  2. Kreker

    Kreker Старожил

    С нами с:
    8 апр 2007
    Сообщения:
    5.433
    Симпатии:
    0
    Это можно и с помощью функций сделать.
    ООП - это всего лишь парадигма, такая же как и процедурый подход.
    Тут дело в архитектуре. Мне кажется, что и в процедурном подходе можно организовать нормальную систему.
    Обычно, если применяют ООП при разработке сайта, то делают все при помощи классов.

    P.S. Я сам еще плохо шарю в ООП, поэтому близко не воспринимай)