rfc:instance-method-call
This is an old revision of the document!
Request for Comments: Instance and method call/property access
- Version: 1.0
- Date: 2010-11-26
- Author: Felipe Pena felipe@php.net
- Status: Under Discussion
Introduction
The purpose of RFC is to presents the support of instancing and making method call and property access on same command.
Examples
<?php class foo { public $x = 1; public function getX() { return $this->x; } public function setX($val) { $this->x = $val; return $this; } } $X = new foo()->setX(10)->getX(); var_dump($X); // int(10) ?>
<?php class foo { public $x = 'testing'; public function bar() { return "foo"; } public function baz() { return new self; } static function xyz() { } } var_dump(new foo()->bar()); // string(3) "foo" var_dump(new foo()->baz()->x); // string(7) "testing" var_dump(new foo()->baz()->baz()->bar()); // string(3) "foo" var_dump(new foo()->xyz()); // NULL new foo()->www(); // Fatal error: Call to undefined method foo::www() ?>
<?php class foo { public function __construct() { throw new Exception('foobar'); } } try { $X = new foo()->Inexistent(3); } catch (Exception $e) { var_dump($e->getMessage()); } ?>
Proposal and Patch
rfc/instance-method-call.1290798778.txt.gz · Last modified: 2017/09/22 13:28 (external edit)