Сведения о вопросе

profi

03:32, 22nd August, 2020

Теги

php   mysql   database   lamp    

Какой хороший способ инкапсулировать доступ к данным с помощью PHP/MySQL?

Просмотров: 392   Ответов: 6

Большая часть моего опыта находится в стеке MSFT, но сейчас я работаю над сайд-проектом, помогая кому-то с личным сайтом с дешевым хостингом, который построен на стеке LAMP. Мои возможности по установке дополнительных компонентов ограничены, поэтому мне интересно, как написать код доступа к данным без внедрения необработанных запросов в файлы .php.

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

Помните, что у меня есть учетная запись $7/month GoDaddy, поэтому я ограничен тем, что уже установлено в их базовом пакете.

Edit: спасибо rix0rr, Алан, Андерс, Дракон, Я проверю все это. Я отредактировал вопрос, чтобы быть более открытым для решений ORM, поскольку они так популярны.



  Сведения об ответе

+-*/

22:26, 25th August, 2020

ActiveRecord , по-видимому, в настоящее время находится в состоянии искусства. Однако я не могу рекомендовать для этого никаких хороших фреймворков PHP. Я попробовал Propel , который, хотя и хороший, нелегко настроить (особенно на хосте, на котором вы ничего не можете установить).

В конечном счете, я скатал свой собственный фреймворк ORM/ActiveRecord, который не слишком много работает и очень поучителен. Я уверен, что другие люди могут рекомендовать хорошие фреймворки PHP.


  Сведения об ответе

ASER

13:37, 2nd August, 2020

Взгляните на фреймворк Zend, в частности на Zend_Db. Он имеет уровень абстракции базы данных, который не требует установки ничего, кроме расширения MySQLi, и не является полномасштабной моделью ORM.


  Сведения об ответе

nYU

05:49, 15th August, 2020

Может быть, Doctrine сделает эту работу? Похоже, он вдохновлен Hibernate .


  Сведения об ответе

screen

22:13, 15th August, 2020

rix0rrr ударил по нему немного, в том, что многие инструменты-это боль для настройки. Конечно, у меня есть свое собственное решение этой проблемы, которое довольно хорошо работает в течение последних нескольких лет. Это проект под названием dbFacile

Я также написал небольшое сравнение использования инструментов, которые я нашел несколько лет назад. Он неполный, но может дать вам хорошую отправную точку.

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

Единственное требование для моих проектов-PHP5.


  Сведения об ответе

SILA

06:43, 3rd August, 2020

Я бы попробовал использовать фреймворк. Была упомянута структура Zend . Symfony кажется интересным. Он основан на идеях от Ruby до Rails .


  Сведения об ответе

lats

04:55, 13th August, 2020

Вы также можете взглянуть на Прадо. http://www.pradosoft.com/ он использует активную запись и DAO. Кроме того, если вы используете .Net, то некоторые из форматирования и соглашений аналогичны.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться