Edit report at https://bugs.php.net/bug.php?id=63268&edit=1
ID: 63268 Comment by: klaussantana at gmail dot com Reported by: klaussantana at gmail dot com Summary: Scalar Casting Status: Open Type: Feature/Change Request Package: Unknown/Other Function Operating System: Any PHP Version: Irrelevant Block user comment: N Private report: N New Comment: Note that it'll be automatically chainable because the result of ->toLower() is a string and it will cast as an object... And you'll can also do something like this: echo 'My String'->toLower(); Just suggestions.. comment. Previous Comments: ------------------------------------------------------------------------ [2012-10-12 21:16:36] klaussantana at gmail dot com Description: ------------ It would be nice if we can control the casting behavior of any type to another. Like a function like this: register_casting_behavior( $from, $to, $callback_function ); So when you do this: register_casting_behavior( 'int', 'bool', 'int2bool' ); $X = (bool) 1; It will call int2bool( 1 ) and so... Then.... Test script: --------------- register_casting_behavior( 'string', 'object', array( 'String', '__construct' ) ); class String { protected $value = null; public function __construct( $String ) { $this->value = $String; return $this; } public function toLower() { return strtolower($this->value); } public function underline() { return "<span style='text-decoration: underline;'>{$this->value}</span>"; } } $S = 'My String'; echo $S->toLower()->underline(); // will output: <span style='text-decoration: underline;'>my string</span> ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=63268&edit=1