#46128 [Com]: Magic function __cast($to)
[email protected] ("andrea at 3site dot it")
| Newsgroups | php.bugs |
|---|---|
| Message-ID | <[email protected]> |
ID: 46128
Comment by: andrea at 3site dot it
Reported By: 131 dot php at cloudyks dot org
Status: Open
Bug Type: Feature/Change Request
Operating System: Linux
PHP Version: 5.2.6
New Comment:
I wonder why you guys do not implement in core the PECL php_operator
which would make code style and life much easier.
I cannot imagine a Number class which needs (int)$obj for every single
operation.
Please do not get me wrong, __cast is a good idea, but it covers only
explicit cases while every other decent language (C#, Java, Python)
allows developer to implement implic cast behavior as well.
This, in PHP 5.3, would be excellent (but probaly an illusion thou).
Regards
Previous Comments:
------------------------------------------------------------------------
[2009-02-06 00:11:19] rayro at gmx dot de
This is such a nice Implementation and very useful, but i prefer to add
the methods __toBool, __toInt and __toArray rather than __cast, stay
tuned with PHP's other magic methods..
I dont agree fully with that post in feature request #38508 from helly.
If that'll be the way, why did the decision for magic methods?
Isnt that all complex although? ^^
We know, but in my eyes (and many others), i think that these magically
stuff is one of the top key features for php. And none of these features
will become critism i think. If not needed, just dont use them!
The additional goody __toInvoke() introduced in 5_3 is a such nice
addition for developing "quick gets" based on nested object sets:
<?php
$magazine(3)->getArticles();
// old way
$magazine->getArticle($magazine->useMagazine(3));
?>
This helper is a "backdoor" like way to enable PHP to fully write
nested Objects like in Javascript. And my opinion for that: I LIKE THIS
:)
I think this is a very very discussable topic to the changes for 5_3 or
6_0 beside the wanted support for traditional type hinting and utf8!
thanks
------------------------------------------------------------------------
[2008-11-23 09:01:02] mark at hell dot ne dot jp
Please test the following extension :
http://ookoo.org/svn/snip/phpcastable/
This extension adds a "Castable" interface. Any class implementing this
interface have to implement a __cast() function. This function will be
called when the object needs to be casted to a type.
This extension is EXPERIMENTAL and needs more testing/review before
being used in any production system.
------------------------------------------------------------------------
[2008-10-27 17:08:24] info at netmosfera dot it
AWESOME!
php developers, please, we need it!!
http://bugs.php.net/bug.php?id=46404
------------------------------------------------------------------------
[2008-10-06 04:15:03] mark at hell dot ne dot jp
Backported to PHP 5.2.6 :
http://ookoo.org/svn/snip/php-5.2.6_class_cast_func.patch
------------------------------------------------------------------------
[2008-10-05 16:33:07] 131 dot php at cloudyks dot org
This is awesome
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
http://bugs.php.net/46128
--
Edit this bug report at http://bugs.php.net/?id=46128&edit=1