Req #62257 [Opn->Fbk]: Allow variables in class create
| From: | danack@php.net | Date: | Thu, 08 Jan 2015 00:43:38 +0000 |
| Subject: | Req #62257 [Opn->Fbk]: Allow variables in class create | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-189724@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=62257&edit=1
ID: 62257
Updated by: danack@php.net
Reported by: valentiny510 at yahoo dot es
Summary: Allow variables in class create
-Status: Open
+Status: Feedback
Type: Feature/Change Request
Package: Class/Object related
Operating System: XP
PHP Version: 5.4.3
Block user comment: N
Private report: N
New Comment:
Hi, it's not clear what you're asking for. The feature request in the original question
doesn't appear to be the same as the feature request in the comment.
Please can you clarify either here, or even better on the PHP internals email list where an RFC
could be opened.
Previous Comments:
------------------------------------------------------------------------
[2012-10-26 19:41:42] dagguh at gmail dot com
Absolutely disagreed.
Downvoting this abomination.
Leave creating anonymous classes to mock frameworks
------------------------------------------------------------------------
[2012-06-13 19:47:54] valentiny510 at yahoo dot es
With the short names was just an example. Imagine one autoload function where you can create classes
on the fly:
(pseudofunction)
function autoload( $class )
{
if ( isset (array($class)))
include/require $class
elseif (file_exists($class))
include $class
else
class $class
{
function __get( $what ){ return $what 'to be / not to be' }
}
}
and I can put here more than 10-20 quick examples...
------------------------------------------------------------------------
[2012-06-08 23:37:27] nikic@php.net
If you want to shorten long names make use of the namespacing support introduced in 5.3. Simply
write
use SomeVery\VeryLong\NameAndMore as ShortName;
and you're done. You can also do this programmatically using class_alias().
------------------------------------------------------------------------
[2012-06-08 01:20:34] valentiny510 at yahoo dot es
P.S. Not only for long names.. but also for autoloading/extending multiple classes.. now I let you
to imaginate..
------------------------------------------------------------------------
[2012-06-08 01:08:33] valentiny510 at yahoo dot es
Description:
------------
I think may be very useful sometimes allowing the use of variables when create some class like this:
$class = 'test';
class $class { }
Sometimes when working with some cms/framework etc.. they have a_very_very_very_long_name_for
some_classes and will be more easy (depends of situation) to have an array with shorten name. Ex:
$short_names = array (
'short1' => 'a_very_long_name_of_some_class',
'short2' => 'another_very_long_name');
foreach ($short_names as $short => $long)
class $short extends $long { }
/*endforeach*/;
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=62257&edit=1