【问题标题】:OOP PHP: Calling classes as functions after creating an instance of themOOP PHP:在创建类的实例后将类作为函数调用
【发布时间】:2017-06-13 00:05:53
【问题描述】:

在创建一个类的实例后,我想做的是能够将该实例的名称作为函数调用。例如,考虑以下类 Foo:

$bar = new Foo(5); // generates 5 random ints between 0-100
bar(3); // get the third int in the object bar

这在 PHP 中是可能的还是会涉及到解析器的混乱?提前致谢!

【问题讨论】:

  • 你为什么要这样做?
  • 您的意思是要加载该对象的属性吗?
  • 你问的不清楚。
  • @john-conde 如果我想扩展一个默认的 PHP 类
  • 所以写一个类来扩展你所说的任何类

标签: php php-7.1


【解决方案1】:

这个问题的真正意义是创建一个 PHP 函子,这是我从 here 中提取的一个示例:

<?php

class SquareCallback
{
    public function __invoke($value)
    {
        return $value * $value;
    }
}

$squareObject = new SquareCallback;
var_dump($squareObject(3));

【讨论】:

    猜你喜欢
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多