php sql и классы - PullRequest
       20

php sql и классы

2 голосов
/ 22 июля 2010

Я собираюсь создать веб-приложение, используя php, mysql. я планирую написать это в классах.

Я создал 3 класса: CBaseUser, CWaiter, CBaseAuth

поэтому в основном CBaseUser будет родительским классом для CWaiter, а CBaseAuth содержит такие вещи, как GetPasswdLen (), CreatePasswd (), GetToken ().

так что сейчас я собираюсь сделать остальную часть программы, которая требует вставки, удаления, обновления, входа в систему и т. Д.

Я немного запутался здесь, потому что я не уверен, где мне делать свою функцию SQL-запроса. я должен сделать это в CWaiter?

Может ли кто-нибудь рассказать мне об ООП в PHP? как лучшая практика для создания веб-программы на PHP.

Ответы [ 3 ]

3 голосов
/ 22 июля 2010

Если вы делаете все OO, возможно, вы захотите взглянуть на php's pear db , прежде чем углубляться в транзакции sql.pear :: db позволяет создавать независимые от базы данных системы, что означает, что вы можете запускать их на mysql, postgre и т. д. без изменения одной строки кода.

1 голос
/ 22 июля 2010

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

0 голосов
/ 22 июля 2010

Я немного запутался здесь, потому что я не уверен, где мне делать функцию sql запроса.Должен ли я делать это в CWaiter?

Вы можете, но обычно считается хорошей практикой хранить ваши запросы SQL в отдельном месте (то есть в отдельном наборе файлов исходного кода) для вашей бизнес-логики.

«MVC» - это шаблон, о котором часто говорят люди, который включает в себя разделение кода для «Модели» (т.е. всего, что должно знать структуру вашей базы данных, например, всего вашего SQL). «Вид» (все, что рисует пользовательский интерфейс,что обычно означает механизм шаблонов) и «Контроллер» (вся бизнес-логика, объединяя все это).

Это будет означать, что у вас будет другая группа классов с именами, такими как CBaseUserDB или CWaiterDB (иличто угодно) для всего, что нужно обновить / запросить базу данных.Это упрощенный пример, просто чтобы проиллюстрировать мою точку зрения.

Идея, лежащая в основе разделения, заключается в том, что SQL, шаблонный код и бизнес-логика, переплетенные друг с другом, могут быть грязными или трудными для понимания.также хочу взглянуть на PDO, который является более современным способом доступа к базе данных, чем, например, mysql_ и mysqli_.Он содержит некоторые дополнительные функции, такие как подготовленные заявления, но главное преимущество, на мой взгляд, заключается в том, что ваши знания станут более надежными в будущем, и вы сможете легко адаптироваться к различным API баз данных.В отличие от предыдущего ответа, мне не очень нравится абстракция более высокого уровня, как pear :: db, но это зависит от вашего личного мнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...