下载了一些开放源代码的PHP脚本,例如Wordpress和Moodle,以研究它们在那里构建代码等的方式。但是,在查看这两个脚本时,我总是无法找到数据库查询(选择,插入,更新)?为什么他们如此隐藏,我如何找到他们?开源PHP项目中的数据库查询?
1
A
回答
4
它们可能实际上是通过ORM层生成的。哪一个是通过对象方法生成查询的对象。
0
没有隐藏,那里只是用OOP方式写的!
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));
1
在WordPress中,他们在wp-db.php
,有趣的是:)“隐藏”的低层次数据库中的大多数要求该代码尽可能地将数据库中的“业务逻辑”隔离开来。
这使得它更容易做出一个改变,而无需重新对码,另外,或支持多个数据库(或其他存储)后端,而不必垃圾与检查你的代码,看看哪种DB你的正在使用。
如果你真的想弄清楚在一个大型的开源项目中发生了什么,尤其是面向对象的项目,可能值得使用能够分析代码并跳转到定义的编辑器/ IDE,比如NetBeans。这通常会使您在阅读时更容易遵循代码,而无需弄清楚哪个类正在调用哪个文件(尤其是在PHP自动加载发生时)。
相关问题
- 1. PHP的数据库查询
- 2. 管理开源软件项目中的数据库
- 3. PHP笨数据库查询
- 4. PHP查询whois数据库
- 5. PHP查询的Session_ID在数据库中
- 6. SQL查询 - 所有的数据库查找项目的价值
- 7. 开源的Qt项目处理数据库连接
- 8. 项目Web访问,数据库资源
- 9. javascript中的开源项目
- 10. groovy中的开源项目?
- 11. 我应该帮助哪个开源C++数据库GUI项目?
- 12. 开源项目库的结构
- 13. 开源项目
- 14. 显示php上的数据库项目
- 15. 开源项目项目
- 16. PHP的Oracle多数据库查询
- 17. 显示从查询数据库的PHP
- 18. 充气ListView/RecyclerView项目时查询数据库的最佳做法项目
- 19. Codeigniter修改数据库查询数组项目
- 20. 为新项目创建数据库的查询
- 21. Android:FC查询sqlite时打开数据库
- 22. 查询数据库中的数据
- 23. 在开源项目中安全地存储连接数据库的密码
- 24. 修改后运行开源php项目
- 25. 基于数据库数据检查CheckedBoxList中的项目
- 26. PHP开源MySQL查询生成器?
- 27. .Net数据库查询选项Aside Linq
- 28. 隐藏开源项目中的敏感数据
- 29. 类中项目的数据库选项
- 30. 小开源项目
有趣的是,学习这种方法有多困难并且需要多长时间? – ritch 2011-06-10 16:01:18
许多框架已经内置在ORM层中。 ZF有Zend_Db_Select。那可能是一个开始的好地方。 – datasage 2011-06-10 16:04:26