note 92466 deleted from language.oop5.magic by cmb
| From: | cmb@php.net | Date: | Sun, 10 Nov 2019 12:36:11 +0000 |
| Subject: | note 92466 deleted from language.oop5.magic by cmb | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-212981@lists.php.net to get a copy of this message | ||
Note Submitter: moechofe
----
__invoke() cannot be used to create fluente interface like in the "D language"
<?php
class CallableClass
{
var $next;
function __invoke($x)
{
var_dump($x);
return $this;
}
}
$obj = new CallableClass;
$obj->next = new CallableClass;
var_dump( $obj(5) ); // OK!
var_dump( $obj(5)(6) ); // Parse error
var_dump( $obj->next(7) ); // Fatal error: Call to undefined method CallableClass::next()
var_dump( {$obj->next}(7) ); // Parse error
?>