gpt4 book ai didi

php - 在php中没有对象实例化的情况下调用类方法(带构造函数)

转载 作者:可可西里 更新时间:2023-11-01 13:03:29 26 4
gpt4 key购买 nike

我看过并尝试过,但找不到答案。

在 PHP 中,是否可以在不将其实例化为对象的情况下调用类的成员函数(当该类需要构造函数来接收参数时)?

代码示例(给出错误):

<?php

class Test {
private $end="";

function __construct($value) {
$this->end=$value;
}

public function alert($value) {
echo $value." ".$this->end;
}
}

//this works:
$example=new Test("world");
$example->alert("hello");

//this does not work:
echo Test("world")::alert("hello");

?>

最佳答案

不幸的是 PHP 不支持这样做,但你是一个有创造力和外表的人 :D

您可以使用“工厂”,示例:

<?php

class Foo
{
private $__aaa = null;

public function __construct($aaa)
{
$this->__aaa = $aaa;
}

public static function factory($aaa)
{
return new Foo($aaa);
}

public function doX()
{
return $this->__aaa * 2;
}
}

Foo::factory(10)->doX(); // outputs 20

关于php - 在php中没有对象实例化的情况下调用类方法(带构造函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3098881/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com