gpt4 book ai didi

php - 我应该延长这门课吗? (PHP)

转载 作者:行者123 更新时间:2023-12-02 07:16:33 24 4
gpt4 key购买 nike

我正在用 PHP 创建一个 ORM,我有一个“ORM”类,它基本上创建了一个对应于数据库表的对象(我的目标是与 ActiveRecord 模式具有相似/相同的功能。)ORM本身扩展了“数据库”,它建立了数据库连接。

所以,我可以调用:

$c = new Customer();
$c->name = 'John Smith';
$c->save();

ORM 类提供此功能(设置类属性,提供 save()、find()、findAll() 等方法),Customer 扩展 ORM。但是,将来我可能想要向 Customer(或我创建的任何其他模型)添加额外的公共(public)方法,那么这是否应该扩展 ORM?

我知道我在这里没有提供太多信息,但希望通过模糊的解释这是可以理解的,而不是发布 300 多行代码。

最佳答案

我同意这里的其他答案 - 将其他方法放入后代类中。不过,我还要为此添加一个星号:每次您使用额外的方法扩展类时,请考虑您试图通过扩展实现的目标,并考虑它是否可以被泛化并返回到父类中.例如:

// Customer.class.php
function getByName($name) {
// SELECT * FROM `customer` WHERE `name` = $name
}

// ** this could instead be written as: **
// ORM.class.php
function getByField($field, $value) {
// SELECT * FROM `$this->table` WHERE `$field` = $value
}

关于php - 我应该延长这门课吗? (PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/146963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com