From: ms419 at freezone dot co dot uk Operating system: Debian PHP version: 5.2.6 PHP Bug Type: Feature/Change Request Bug description: allow additional, optional arguements to __get()
Description: ------------ I wish it were possible to declare a __get() magic method with additional, optional arguments, in addition to the required $name argument. It makes total sense for any __get() magic method declaration to *require* exactly one argument, but it would be nice to allow additional, optional arguments. Optional arguments would get default values when __get() is called magically, but could be specified if __get() is called manually. This is already the case with the ArrayAccess interface (it makes sense that there is a difference between SPL interfaces and PHP magic methods, but optional arguments is a pattern I find useful with ArrayAccess and would find useful with __get()...) I successfully declare offsetGet() with additional, optional arguments: <?php class Foo implements ArrayAccess { public function offsetGet($offset, array $options = array()) { [...] } [...] } Reproduce code: --------------- <?php class Foo { public function __get($name, array $options = array()) { } } Actual result: -------------- ket% php foo.php Fatal error: Method Foo::__get() must take exactly 1 argument in /home/jablko/foo.php on line 7 ket% -- Edit bug report at http://bugs.php.net/?id=46750&edit=1 -- Try a CVS snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=46750&r=trysnapshot52 Try a CVS snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=46750&r=trysnapshot53 Try a CVS snapshot (PHP 6.0): http://bugs.php.net/fix.php?id=46750&r=trysnapshot60 Fixed in CVS: http://bugs.php.net/fix.php?id=46750&r=fixedcvs Fixed in CVS and need be documented: http://bugs.php.net/fix.php?id=46750&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=46750&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=46750&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=46750&r=needscript Try newer version: http://bugs.php.net/fix.php?id=46750&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=46750&r=support Expected behavior: http://bugs.php.net/fix.php?id=46750&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=46750&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=46750&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=46750&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=46750&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=46750&r=dst IIS Stability: http://bugs.php.net/fix.php?id=46750&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=46750&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=46750&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=46750&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=46750&r=mysqlcfg