@malibujj

Как сделать CRUD приложение средствами php для управления несколькими таблицами?

Добрый день! Делаю CRUD приложение на php, но возникла проблема, для каждой таблицы приходится создавать свои страницы и писать SQL запросы и сам код для для CRUD операций. Получается что под одну таблицу около 3-х файлов. Как решить эту проблему ?
  • Вопрос задан
  • 821 просмотр
Пригласить эксперта
Ответы на вопрос 4
@4iloveg
Full-Stack HTML Developer
Я бы сделал так:
- Поставил Phalcon 3
- Выполнил команду "scaffold table"
- Занялся другими делами
Ответ написан
Комментировать
@BorisKorobkov Куратор тега PHP
Web developer
При правильном проектировании писать SQL обычно не требуется - все через модель одной строчкой.

Чтобы для разных моделей не писать однотипный код - воспользуйтесь CRUD-генератором в зависимости от фреймворка. Например, для YII2 https://github.com/yiisoft/yii2-gii/blob/master/do...
Ответ написан
Комментировать
@ipokos
Четкая формулировка вопроса - это уже половина решения.
Из вопроса неясно, Вы используете какой то фреймворк, цмс или пишите это все сами.
ООП или процедурно?

Если оптимальный вариант, то для работы с бд используется какая то ORM )

Если нужно самому, то для каждой таблицы создается отдельная модель - это нормально.
Лучше избегать дублирования кода=)

Ну или опишите более детально.
Ответ написан
@rPman
Если вам не подходят готовые решения, а хотите сделать свой велосипед, попробуйте посмотреть в сторону метапрограммирования.

Когда вместо того, чтобы описывать в коде структуру вашего проекта, которая с помощью фреймворка во время выполнения разворачивается в необходимые sql-запросы и html/js интерфейс пользователя (делая это каждый раз плюс очень много лишнего). Вы делаете почти то же самое, но пишите генератор всего кода и sql запросов по вашему описанию. Когда то очень давно я делал такую систему, когда по описанной модели данных (очень близкой к ЕР) с небольшими добавлениями по описанию графического интерфейса (типы данных и способы/ограничения по их редактированию), генератор компилировал в десятки/сотни php файлов, без каких либо требований к фреймворку, и достаточно эффективного кода, но позволял создавать очень быстро большое количество сложных интерфейсов по работе сданными (в основном это был поиск, просмотр и редактирование).

Затем проект был заброшен, одно время я искал что то похожее, но все что находил было каким то переусложненным, лишенным бонусов метапрограммирования... и главное первоначальная задача - писать мало получать много, решалась слабо. Если уважаемое сообщество сможет ткнуть меня носом в существующие решени, я был бы очень рад.

И еще, не про вашу задачу а вообще.
Задумайтесь о React PHP, это целая парадигма в разработке асинхронных приложений, когда cli php приложение само является веб-сервером (в т.ч. и websocket), позволяет делать очень высокопроизводительные приложения.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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