如何定义这种php函数?

时间:2015-11-01 04:02:44

标签: php function class

我看到一些示例php脚本可以互相使用一个函数,但我找不到如何编写这样的脚本。

当我写php脚本时:

class apple {
  function banana() {
    echo 'Hi!';
  }
}

当我想调用函数banana

时,它看起来像这样
$apple = new apple;
$apple->banana();

如果我想在上一个函数之后立即调用函数,如下所示:

  

$&Apple苹果GT;香蕉() - >橙()

我试图将一个函数放在另一个函数中,但它会返回错误。 我该如何编写这样的脚本?

2 个答案:

答案 0 :(得分:6)

此代码用于改进方法链,

    <?php

    class Fruits
    {
        public function banana()
        {
            echo 'Hi i am banana!'.'<br>';
            return $this;
        }

        public function orange()
        {
            echo 'Hi i am orange!'.'<br>';
            return $this;
        }

        public function __call($mName,$mValues)
        {
            echo 'Hi i am '.$mName.'!'.'<br>';
            return $this;
        }
    }

    $fruits = new Fruits();
    $fruits->banana()->orange()->grape()->avocado();

答案 1 :(得分:4)

您可以这样做:

class apple {
  public function banana() {
    echo 'Hi!';
    return $this;
  }
  public function orange() {
      echo 'Hi from orange';
      return $this;
  }
}

$apple = new apple;
$apple->banana()->orange();

这是这样的捷径:

$apple = new apple;
$same_apple = $apple->banana();
// $apple and $same_apple are the same thing here.
$still_the_same_apple = $same_apple->orange(); 

最后,$ apple和$ still_the_same_apple与您首先创建的实例相同。