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