0

我在 PHP 中有一个对象(在我的例子中是一个 CakePHP 模型),它有子对象,例如。的结构$this->Model1->Model2

我知道上面的语法是引用对象的正确方法,但是如果我是Model2通过另一个进程获得的名称,那么它是一个字符串变量。如何使用这个变量来引用它,类似于如下:

$model_name = 'Model2';
$this->Model1[ $model_name ]->run_function();

现在显然这种选择对象/类的数组样式不起作用,但是我应该使用类似的方法吗?还是有更好的编码实践不会导致这个问题一起出现?

4

2 回答 2

3

你在找这个吗?

$property = 'myProperty';
$object->{$property};
于 2012-11-28T10:25:28.550 回答
1

这样做:

$this->Model1->$model_name->run_function();
于 2012-11-28T10:27:46.120 回答