Таким образом, вы хотите использовать код:
$a_string = "Product";
$this->$a_string->some_function();
Этот код подразумевает несколько вещей. Класс под названием Product
с методом some_function()
. $this
имеет особое значение и действителен только внутри определения класса. Таким образом, другой класс будет иметь член Product
class.
Итак, чтобы сделать ваш код легальным, вот код.
class Product {
public function some_function() {
print "I just printed Product->some_function()!";
}
}
class AnotherClass {
public $Product;
function __construct() {
$this->Product = new Product();
}
public function callSomeCode() {
// Here's your code!
$a_string = "Product";
$this->$a_string->some_function();
}
}
Тогда вы можете назвать это так:
$MyInstanceOfAnotherClass = new AnotherClass();
$MyInstanceOfAnotherClass->callSomeCode();