Как грамотно сформировать структуру проекта на PHP? Вопрос получился несколько общим.
Не так давно занимаюсь разработкой на PHP. В основном - структурное программирование, ООП приходилось использовать не много. Принципы, вроде, понимаю. Но вот логически иногда путаюсь.
Суть:
Хочу реализовать свой небольшой проект. Из ближайших аналогов - twitter, но не по смыслу, а по структуре. Будет класс пользователей, абстрактный класс добавляемых "публикаций" (разного вида).
Основной вопрос - как грамотно организовать работу с БД? Логично было бы, как мне кажется, написать для это свой класс, но я не очень понимаю, как с ним работать в таком случае? Например, есть у момего пользователя метод getPublication, который должен делать запрос к БД и получить все его публикации, как мне обращаться к БД? Создать метод "q" (например), в который передавать в качестве параметра запрос к БД? А этот метод должен каждый раз обращаться сначала к методу коннекта к БД? А в конце закрывать соединение, обращением к методу закрытия?
До этого имел опыт только с микро-фреймворком Flight, в котормо нет класса для работы с БД, и с самописным (чужим) фреймворком, в котором объект sql был глобальным. Такой способ мне не нравится.
Фреймворки не использую, потому что хочется самому написать, дабы разобраться.
Я понимаю, что вопросы не чёткие и несколько глуповатые, но хотелось бы, как я уже сказал, разобраться нормально.
Спасибо

21 Авг 2019 в 07:09
126 +1
1
Ответы
1

Звучит так, как будто вы хотите научиться писать собственный ORM (Object-Relational Mapping), который поможет вам взаимодействовать с базой данных из объектно-ориентированного кода. Вот несколько шагов, которые помогут вам структурировать ваш проект на PHP:

Создайте класс для работы с базой данных:
Создайте класс, который будет представлять соединение с базой данных, выполнение запросов и закрытие соединения. В этом классе вы можете реализовать методы для выполнения различных видов запросов, таких как SELECT, INSERT, UPDATE, DELETE и т.д.

Реализуйте классы для ваших моделей:
Создайте классы для пользователей и публикаций, которые будут представлять соответствующие таблицы в базе данных. В этих классах вы можете определить методы для получения, добавления, обновления и удаления данных из базы данных.

Используйте паттерн Repository:
Реализуйте классы-репозитории для ваших моделей, которые будут обеспечивать доступ к данным из базы данных. Эти классы будут содержать методы для выполнения конкретных запросов к базе данных, например получение всех публикаций конкретного пользователя.

Организуйте ваши запросы к базе данных:
В методах классов моделей и репозиториев используйте ранее созданный класс для работы с базой данных для выполнения запросов. Не забывайте обработать ошибки базы данных и закрыть соединение после выполнения запроса.

Тестируйте и дорабатывайте:
После того как вы реализуете основную структуру проекта, протестируйте её и проведите доработки. Возможно, в процессе доработки вы обнаружите новые способы улучшения вашего кода.

Это всего лишь общий план, и на практике вам придется столкнуться с различными тонкостями при работе с базой данных на PHP. Но со временем, приобретете опыт и навыки, которые помогут вам стать лучшим разработчиком. Не бойтесь экспериментировать и учиться на своих ошибках. Удачи в ваших проектах!

20 Апр в 13:06
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 648 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир