anton_reut
@anton_reut
Начинающий веб-разработчик

Можно ли это переписать на ООП? И как примерно всё это можно распределить по классам?

У меня есть учебный проект (доска объявлений) и сейчас я переделываю структуру кода из процедурного в функциональный, в результате у меня образуются примерно такие группы функций:
function_items.php - всё что связано с записью в базу и выводом объявлений и операций с ними (например добавить в избранные)
function_users.php - всё что связано с пользователями, регистрация, вход, редактирования личной инфы и пр.
function_images.php - все операции с картинками, ресайз, обрезка, и пр.
И так далее разбиваю на группы функций.
Так вот, в плане обучения обязательно нужно освоить ООП (хотя бы основы но не на примерах машин и самолетов, а на живом коде) и я думаю как теперь это можно переделать в классы?
То есть, у меня, например, вместо файла function_items.php будет Class Items и всё что в этом файле будет в одном классе, так?
Но мне кажется, что мой код ещё не достаточно сложен чтобы его превращать в классы (классы это просто способ организации кода насколько я понимаю).
То есть, мне здесь пока ни к чему Инкапсуляция, Наследование и Полиморфизм, просто нет такой необходимости, или всё же есть? Прошу помочь в понимании нужно ли ООП в простых проектах или так и оставить в виде отдельных функций?
  • Вопрос задан
  • 690 просмотров
Пригласить эксперта
Ответы на вопрос 3
glaphire
@glaphire Куратор тега PHP
PHP developer
Попробуйте натянуть этот функционал на несложный фреймворк вроде laravel - да, он не идеальный, но как по мне лучше начать делать хоть как-то, а потом постепенно разбираться, как писать ООП красиво.
Items, users, images - могут стать классами моделей, где описаны их свойства и методы для их получения/записи.
Из function_images можно написать модуль (условно говоря папочку с набором классов-сервисов), где будет описана логика ресайза отдельно, логика обрезки отдельно и т.д.
Ответ написан
Комментировать
php666
@php666
PHP-макака
классы это просто способ организации кода насколько я понимаю
нет. вообще не правильно понимаешь.

Я тебе уже советовал читать Фаулера, ты это сделал? Ты задаешь одни и те же вопросы, на которые в принципе никто не сможет тебе ответить - это тема целой книги. Все советы тут будут лишь медвежьей услугой.

У тебя два пути:
1. Брать фреймворк и писать с нуля
2. Читать книгу и изобретать велосипед, переписывая свою лапшу на оо-стиль. Прокачаешься, но времени потратишь оооочень много, что будет крайне сомнительным действием в плане профита.
Ответ написан
@Vitsliputsli
например вместо файла function_items.php будет Class Items и всё что в этом файле будет в одном классе, так?

Нет, совсем не так, но для начала можете и так попробовать. Затем берите любой популярный фреймворк и пробуйте в нем, заодно изучай как реализует те или иные вещи фреймворк.
Но это тогда, когда будете хорошо знать процедурный программирование.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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