最近看了一些数据抽象层的项目,如 Yii 框架的 ActiveRecord , RedBean , doctrine2 , 但由于 doctrine2 设计得复杂,我还没理清头绪,大致浏览了一下文件,发下它好像完全是抽象成对象,没有拼接SQL语句的。那没有拼接SQL语句是怎么来对数据库进行CRUD的呢?是依靠PDO的接口和方法么?
Yii
ActiveRecord
RedBean
doctrine2
数据库 doctrine2 php orm pdo
你没有拼接,但是别人肯定是拼接了的,因为数据库只认SQL嘛。 你再仔细看看吧,编辑器全局查找一些关键字,可能找到拼接的那部分代码的。
不是没有拼接,而是你没有找到罢了。 我先问你,你手动像数据库查询记录,你怎么输入查询语句,它能识别的语句是什么?必须是sql语句吧。 你可以打一下log看看嘛, 就比如 CI框架中 ,就有 $this->db->last_query()类似这种吧
PHP 数据库 ORM 实现的必要性
如何理解Doctrine2里面的mappedBy和inversedBy???
doctrine分表
如何用ThinkPHP开发一个数据库备份功能
如果mysql 某个表存1亿左右的数据 速度 和性能 有问题吗?
mysql有没有类似和memcached里那样的CAS版本控制?
Instagram初期技术架构