[英]how pass parameter to php class by class()::function()
How pass parameter to PHP class by class()::function()
? 如何通过
class()::function()
将参数传递给PHP类?
class greenHouse{
public function __construct(connection $con){
}
public function show(){
}
}
$nameclass = 'greenHouse';
$namefunction = 'show';
$nameclass::$namefunction();
works 作品
$nameclass = 'greenHouse';
$namefunction = 'show';
$nameclass($con)::$namefunction();
doesn't work 不起作用
I want to pass a parameter to the class with $nameclass($con)::$namefunction();
我想使用
$nameclass($con)::$namefunction();
将参数传递给类$nameclass($con)::$namefunction();
. 。 How do I do that in PHP?
如何在PHP中做到这一点?
You are trying to call a function statically with that notation... 您正在尝试使用该表示法静态调用函数...
$nameclass = 'greenHouse';
$namefunction = 'show';
$class = new $nameclass($con);
$class->$namefunction();
You can instantiate an object and immediately discard it by calling new
within braces: 您可以实例化一个对象,并通过在花括号内调用
new
立即将其丢弃:
class Test
{
private $name;
function __construct($name)
{
$this->name = $name;
}
function speak()
{
echo $this->name;
}
function __destruct()
{
echo 'dead';
}
}
$class='Test';
$method='speak';
(new $class('David'))->$method();
echo ' is ';
$temp = new $class('John');
$temp->$method();
echo ' is ';
//Daviddead is John is dead
So in your case: 因此,在您的情况下:
(new $nameclass($con))->$namefunction();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.