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