小编kos*_*kos的帖子

从包装函数将参数传递给类构造函数

这是交易.我正在尝试创建一个返回对象的函数.像这样的东西:

function getObject( $objectName ) {
    return new $objectName() ;
}
Run Code Online (Sandbox Code Playgroud)

但我仍然需要将params传递给类构造函数,最简单的解决方案是将函数传递给数组,如下所示:

function getObject( $objectName, $arr = array() ) {
    return new $objectName( $arr ) ;
}
Run Code Online (Sandbox Code Playgroud)

但后来我需要类构造函数只有1个参数和完全数组,这是不希望的,因为我希望能够将此函数用于任何类.这是我遇到的解决方案:

/**
 * Test class
 */
class Class1 {
    /**
     * Class constructor just to check if the function below works
     */
    public function __construct( $foo, $bar ) {
        echo $foo . ' _ ' . $bar ;
    }
}

/**
 * This function retrns a class $className object, all that goes after …
Run Code Online (Sandbox Code Playgroud)

php oop

1
推荐指数
1
解决办法
1440
查看次数

标签 统计

oop ×1

php ×1