我在哪里可以找到这个PHP代码中的“输入”声明?

时间:2018-01-29 15:15:31

标签: php

php代码中,我找到了代码段:

class GF_Field extends stdClass implements ArrayAccess {

    if ( is_array( $this->inputs ) ) {
        foreach ( $this->inputs as $input ) {

但我不知道inputs是什么来的。

任何帮助都会被高度挪用。

修改

程序员做了两个模棱两可的步骤,这让我更难找到声明:

  1. 在代码中声明了一个对象实例的属性,如下面的Felippe所示
  2. 通过引用变量在代码中的其他位置进行分配:
  3. foreach ( $this->inputs as &$input ) { $input = something

1 个答案:

答案 0 :(得分:1)

您在这里省略代码,但简而言之,您不必在PHP中明确定义属性。您只能为对象创建,它将按以下方式工作:

class AnyClass extends stdClass {

    public function print() {
        if ( is_array( $this->inputs ) ) {
            foreach ( $this->inputs as $input ) {
                echo $input;
            }
        }
    }
}

$obj = new AnyClass;
$obj->inputs = [1,2,3];
$obj->print();

它将输出123

stdClass是PHP对象的泛型类。 ArrayAccess是一个PHP界面。因此,在您的情况下,$inputs可能未在类或类树中的任何位置定义,而是直接在对象实例中“定义”。