gpt4 book ai didi

PHP 面向对象 : Method Chaining

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:54:36 26 4
gpt4 key购买 nike

我有以下代码,

<?php
class Templater
{
static $params = array();

public static function assign($name, $value)
{
self::$params[] = array($name => $value);
}

public static function draw()
{
self::$params;
}
}


$test = Templater::assign('key', 'value');
$test = Templater::draw();
print_r($test);

如何更改此脚本以便我可以使用它?

$test = Templater::assign('key', 'value')->assign('key2', 'value2')->draw();
print_r($test);

最佳答案

您不能使用 Method Chaining使用静态方法,因为您不能返回类级别范围(return self 不会)。将您的方法更改为常规方法,并在您希望允许链接的每个方法中返回 $this

请注意,您不应使用 T_PAAMAYIM_NEKUDOTAYIM 访问实例方法,因为它会引发 E_STRICT 通知。使用 T_OBJECT_OPERATOR 调用实例方法。

另见:

关于PHP 面向对象 : Method Chaining,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2990952/

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