From: klaussantana at gmail dot com Operating system: Any PHP version: Irrelevant Package: Unknown/Other Function Bug Type: Feature/Change Request Bug description:Scalar Casting
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 bug report at https://bugs.php.net/bug.php?id=63268&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=63268&r=trysnapshot54 Try a snapshot (PHP 5.3): https://bugs.php.net/fix.php?id=63268&r=trysnapshot53 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=63268&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=63268&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=63268&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=63268&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=63268&r=needscript Try newer version: https://bugs.php.net/fix.php?id=63268&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=63268&r=support Expected behavior: https://bugs.php.net/fix.php?id=63268&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=63268&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=63268&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=63268&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=63268&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=63268&r=dst IIS Stability: https://bugs.php.net/fix.php?id=63268&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=63268&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=63268&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=63268&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=63268&r=mysqlcfg