@phpcoder81

Зачем в данном примере класс?

Привет мужики. Вопрос немного философский, но очень важный для меня. С начальником тут спор возник.
Я сайты пишу модулями/блоками, каждый блок это - функция (шапка, контент, футер, сайдбар, модули ссылок css и js, модуль формы связи, модуль новостей и тд.).
Вызывается index.php подключаются все файлы функций, формируется контент и встраивается в html шаблон. Какие-то функции получают переменные, какие-то нет, типа статичны. Начальник говорит, чтоб я обернул в классы все свои функции. Просит создать вместо 7 функций - 7 классов. Говорит, привыкай к классам, но я не очень нахожу в данном случае им применение. Насколько актуальна его просьба и зачем усложнять и так рабочий стиль программирования? Мои функции все равно не пересекаются с именами других, тк имеют уникальный префикс, расширяются легко, добавлением входных переменных. Единственно, они работают по принципу сверху-вниз. Иногда хочется переменную объявить в футере и передать в шапку, но это бывает очень редко (тут думаю класс помог бы)
Тоже было и с отдельным модулем, попросил создать калькулятор для сайта, сложный. Я сделал, обернул в одну функцию и ему сказал, что вызывается модуль recure_once('modul_calc/calc.php') и объявлением функции в нужном месте сайта echo calc();, всего две строки. А ему снова лучше класс. Чем плохо? Или мой такой стиль и правда не айс?
  • Вопрос задан
  • 315 просмотров
Пригласить эксперта
Ответы на вопрос 6
@Sushkov
">alert("yohoho")
Для мелкого проекта ненужно, но для для больших это очень удобно. Стоит к этому привыкать, если есть планы писать качественно.
Ответ написан
trevoga_su
@trevoga_su
Говорит, привыкай к классам, но я не очень нахожу в данном случае им применение.
Конечно. Потому что ты не знаешь для чего они нужны, ты еще не умеешь мыслить объектами и начальник твой все же в большей степени прав. ООП надо понимать и знать. Читай книгу "гради буч объектно-ориентированный анализ и проектирование скачать pdf"

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

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

зачем усложнять
готов поспорить, твой код и так сложен, даже без классов.
Ответ написан
Комментировать
@kstyle
напишите функцию, которая берет файл с кодом php и перегоняет все отдельные функции в классы и наоборот. а вообще если аргумент начальника в том, чтобы вы учились новому, то я с ним соглашусь
Ответ написан
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Тоже раньше не понимал зачем нужны классы и ООП если и так всё работает. Попытки вникнуть в тему по статьям, приводимым в инете (объснения на каких то стульях, столах, человеках, студентах и т.д.) результата не давали.
Потом просто попробовал что то написать с применением ООП. Что то мелкое... Поверхностно освоил наследование, конструкторы, статические методы и т.д. Когда писал мало задумывался о результате и удивился, когда всё заработало с первого раза как надо! До этого приходилось долго вылавливать логические ошибки и отлаживать.
Потом по живому коду других людей понял как надо писать ООП. Начал развивать в себе это объектное понимание и заметил что реально код содержит в разы меньше ошибок, неточностей и, если что то идет не так, то я примерно понимаю где произошла ошибка.
Так что просто начните использовать ООП и сами поймёте зачем оно нужно, но вначале, надо себя заставить ;)
Ответ написан
Комментировать
@jaxel
Функции и подключение модулей через recure_once давно уже никто не использует. Даже если обернуть ваши функции в класс - ничего общего с ООП это иметь не будет. И то, как пишете вы, и то, что предлагает вам начальник - быдлокод.

Вам следует попробовать один из современных MVC фреймворков - symfony 3, yii 2 или laravel. Посмотреть как там всё устроено. То, как вы сейчас пишите будете вспоминать как страшный сон.
Ответ написан
@Sing303
Прочтите хотя бы первые 2 лекции
www.intuit.ru/studies/courses/71/71/lecture/2112?page=1

Там подробно объясняются все требования к качественному ПО и то, как можно выполнить все эти требования с помощью ООП, и почему нельзя, например, процедурным стилем.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы