Запросы к базе данных в проектах с открытым исходным кодом PHP? - PullRequest
1 голос
/ 10 июня 2011

Загрузил несколько php-скриптов с открытым исходным кодом, таких как Wordpress и Moodle, чтобы изучить, как они структурируют там код и т. Д. Однако, просматривая оба этих скрипта, я всегда не могу найти там запросы к базе данных (выбрать, вставить, обновить)? Почему они так спрятаны и как их найти?

Ответы [ 4 ]

4 голосов
/ 10 июня 2011

Они могут быть сгенерированы через слой ORM. Который является объектом, который генерирует запрос через методы объекта.

1 голос
/ 10 июня 2011

В WordPress они находятся в wp-db.php, как ни странно :) «Скрытие» низкоуровневых вызовов базы данных от большей части кода максимально изолирует «бизнес-логику» от базы данных.

Это упрощает внесение изменений в один без перекодирования другого или поддержки нескольких баз данных (или другого хранилища) без необходимости засорять ваш код проверками, чтобы увидеть, какой тип БД у вас 'вы используете.

Если вы действительно хотите выяснить, что происходит в большом проекте с открытым исходным кодом, особенно в OO, вероятно, стоит использовать редактор / IDE, который способен анализировать код и переходить к определениям.такие как NetBeans.Это часто облегчает выполнение кода, когда вы читаете, без необходимости выяснять, в каком классе вызывается файл (особенно, когда происходит автозагрузка PHP).

1 голос
/ 10 июня 2011

Взгляните на /wp-includes/user.php в Wordpress для конкретных деталей реализации. Вы увидите операторы SQL, а также код, который их обрабатывает, например:

$user_nicename_check = $wpdb->get_var( $wpdb->prepare("SELECT ID FROM $wpdb->users WHERE user_nicename = %s AND user_login != %s LIMIT 1" , $user_nicename, $user_login));
0 голосов
/ 10 июня 2011

Там не спрятано, там просто написано ООП!

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