Donc, vous le code que vous souhaitez utiliser serait:
$a_string = "Product";
$this->$a_string->some_function();
Ce code implique un certain nombre de choses. Une classe appelée Product
avec la méthode some_function()
. $this
a une signification spéciale, et est uniquement valide à l'intérieur une définition de classe. Donc, une autre classe aurait un membre de la classe Product
. Donc, pour rendre votre code légal, voici le code.
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();
}
}
Ensuite, vous pouvez l'appeler avec ceci:
$MyInstanceOfAnotherClass = new AnotherClass();
$MyInstanceOfAnotherClass->callSomeCode();
avez-vous essayé ce code? .. de plus, ' echo phpversion(); 'vous montrera si vous êtes sur PHP 5. – salathe
pourquoi ne pas utiliser call_user_func (ou call_user_func_array)? – zfm