Re: Re: $arr = array('Hello', 'world'); $arr();
| From: | Jordi Boggiano | Date: | Wed, 08 Jun 2011 13:39:59 +0000 |
| Subject: | Re: Re: $arr = array('Hello', 'world'); $arr(); | ||
| References: | 1 2 3 4 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-53211@lists.php.net to get a copy of this message | ||
On Wed, Jun 8, 2011 at 2:46 PM, Felipe Pena <felipensp@gmail.com> wrote:
> class foo {
> public function __construct() {
> $this->bar = function () { return 1; };
> // $this->bar(); // error
> $x = $this->bar;
> $x(); // ok
>
> $this->bar = array($this, 'baz');
> // $this->bar(); // error
> $x = $this->bar;
> $x(); // ok
> }
> public function baz() {
> echo 'baz';
> }
> }
What he meant was passing an existing method as a callback if you
don't invoke it, i.e. passing "$this->bar" instead of array($this,
"bar"). I don't know how hard it'd be to achieve, but it sounds pretty
awesome to me.
Cheers
--
Jordi Boggiano
@seldaek :: http://seld.be/