我正在构建一个重用和简单的ORM库; 一切都很顺利,除了我被一个愚蠢的继承限制所困扰.请考虑以下代码:
class BaseModel {
/*
* Return an instance of a Model from the database.
*/
static public function get (/* varargs */) {
// 1. Notice we want an instance of User
$class = get_class(parent); // value: bool(false)
$class = get_class(self); // value: bool(false)
$class = get_class(); // value: string(9) "BaseModel"
$class = __CLASS__; // value: string(9) "BaseModel"
// 2. Query the database with id
$row = get_row_from_db_as_array(func_get_args());
// 3. Return the filled instance
$obj = new $class(); …Run Code Online (Sandbox Code Playgroud) 说我得到了一个类:
<?
class ObjectModel {
}
Run Code Online (Sandbox Code Playgroud)
我得到了一些其他课程:
<?
class SomeNewClass extends ObjectModel {
}
class SomeOtherNewClass extends ObjectModel {
}
Run Code Online (Sandbox Code Playgroud)
有没有办法让Object(SomeNewClass和SomeOtherNewClass)基于ObjectModel类?
让我们说我正在建立一个基础类,将由儿童班延伸.因此,基类被称为Base可以和孩子Child1,Child2等等.
在基类的构造函数中,如何获取Child1/Child2的值?
这都是使用PHP