下载了一些开源的PHP脚本,如Wordpress和Moodle,研究它们在那里构建代码的方式等。但是,当查看这两个脚本时,我总是无法找到数据库查询(选择,插入,更新)?为什么它们如此隐藏?我如何找到它们?
答案 0 :(得分:4)
它们实际上可能是通过ORM层生成的。这是一个通过对象方法生成查询的对象。
答案 1 :(得分:1)
在Wordpress中查看/wp-includes/user.php以获取有关实现的具体细节。您将看到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));
答案 2 :(得分:1)
在WordPress中,它们位于wp-db.php
,足够有趣:)“隐藏”来自大多数代码的低级数据库调用尽可能地将“业务逻辑”与数据库隔离开来。 / p>
这使得更容易在一个中进行更改而不必重新编码另一个,或者支持多个数据库(或其他存储)后端,而不必通过检查来查看代码以查看您的哪种类型的数据库重新使用。
如果你真的想弄清楚大型开源项目中发生了什么,尤其是OO,那么使用能够分析代码并跳转到定义的编辑器/ IDE(例如NetBeans)可能是值得的。这通常使您在阅读时更容易理解代码,而无需弄清楚调用哪个文件类(特别是在发生PHP自动加载时)。
答案 3 :(得分:0)
没有隐藏,只是用OOP方式写的!