Re: Re: [PHP-DEV] __autocreate() function for non-existing variables
| From: | Vesselin Atanasov | Date: | Wed, 20 Aug 2003 09:00:03 +0000 |
| Subject: | Re: Re: [PHP-DEV] __autocreate() function for non-existing variables | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-4106@lists.php.net to get a copy of this message | ||
Hello.
Sorry for double posting but I forgot to CC it to the mailing list.
Basically I need some special names to be available automatically
without the need to create them via new()
Some of them just like the database object will be singletons,
but some need a different copy in every symbol table in which
they are used. Basically a singleton + automatic visibility is an
autoglobal variable, but a non-singleton + automatic visibility
cannot be implemented without adding some functionality to the Zend engine.
vesselin
>
>I don't see need for this magic. You can implement this using a simple
>singleton pattern, if you need it. I don't think we want to add features
>that will condone the use of globals, a singleton class is a much better
>solution for that.
>
>Zeev
>
>At 06:10 20/08/2003, Vesselin Atanasov wrote:
>>Hello.
>>I think that it would be useful to allow an __autocreate() function create
>>non-existing
>>variables just like __autoload is called for non-existing classes. The
>>function will be
>>called when an attempt is made to read a non-existent variable. It will
>>return a reference
>>to the new variable it creates. This could be very useful in some cases. For
>>example it
>>could be used in a php library that creates a database object. When some
>>function tries to
>>use the database object, the __autocreate function will check if a global
>>database object
>>exists. If it does not exist the function will create the database object as
>>global and
>>in either case return a reference to the object.
>>
>>I am willing to implement this functionality, but I'd like to hear the
>>opinion of the PHP
>>developers first and especially of the Zend2 team because this functionality
>>will modify
>>the Zend2 engine.
>>
>>vesselin
>>
>>
>>--
>>PHP Internals - PHP Runtime Development Mailing List
>>To unsubscribe, visit: http://www.php.net/unsub.php
>
>