我很久以前就创建了一个数据库类,一直在我的项目中使用它。
像这样的东西:
class Database
{
function query($sqlQuery) {
$this->prepare($sqlQuery);
}
function connect($databaseConnectionValues) { }
function read() { }
function prepare() { }
...etc
}
像 Laravel 这样的框架以完全不同的方式做到这一点。他们从不执行 SQL。
像这样的东西:
$users->find('Demo')->select('email')->get();
对此我有两个问题。
问题1:我相信第二个代码被称为“ORM”,但什么是“数据库抽象层”?另外,数据库有多少层?(当我得到他们的名字时,我可以做进一步的研究。)
问题 2:我为什么要使用 ORM,为什么不呢?