【问题标题】:How to use PDO::FETCH_CLASS with abstract class?如何将 PDO::FETCH_CLASS 与抽象类一起使用?
【发布时间】:2012-10-01 03:27:47
【问题描述】:

有没有一种方法可以根据检索到的数据用PDO::FETCH_CLASS 实例化一个子类?假设存在一个抽象类A,类BCA 的实现,以及我的表上一个名为classname 的字段将用于实例化正确的类。有可能吗?

【问题讨论】:

    标签: php pdo


    【解决方案1】:

    听起来你需要,PDO::FETCH_CLASSTYPEFrom the manual:

    PDO::FETCH_CLASS:返回请求类的新实例, 将结果集的列映射到 班级。如果 fetch_style 包含 PDO::FETCH_CLASSTYPE(例如 PDO::FETCH_CLASS | PDO::FETCH_CLASSTYPE) 那么类的名称是 根据第一列的值确定。

    【讨论】:

    • 是正确的答案,虽然不能解决我的问题,因为我不能将参数传递给构造函数。我将不得不使用一种解决方法。
    • 也许this bug 是相关的,理论上你可以在使用PDO::FETCH_PROPS_LATE 设置属性之前调用__construct
    猜你喜欢
    • 2012-05-26
    • 2012-02-12
    • 2020-05-31
    • 2020-10-06
    • 2011-03-07
    • 2021-08-21
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多