Re: [PHP-DEV] make new return a reference to existent object

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Leonardo Pedretti wrote:
I would like (for code cleanliness purposes) to make 'new' return a reference to an already created object under certain circumstances without using a factory, is it possible?

not unless you hack the php engine (in which case your code will only work on your custom php build), I'll bet money that none of the php/zend devs feel anything for introducing this kind of 'magic' into engine.

IMHO a factory would be a clean method of handling this behaviour and
has the benefit that no programmer looking at your code will
misinterpret occurances of the 'new' keyword. e.g.:


class Test { /* ... */ function __construct() {} function get() {} }

// and do:

$var = Test::get( /* pass ctor args */ );

// instead of:

$var = new Test( /* pass ctor args */ );


... in this example its only 1 extra char to type when using the factory method and you could turn that around by doing something evil(tm) like:

$var = Test::_( /* pass ctor args */ ); // '_' is a function name!!! (ala wordpress-CS)

maybe reply to generals describing what you are (trying to) do[ing],
I for one am always interested in other people's realworld php5/oo
problems/ideas/etc :-)

rgds,
Jochem



ps - I redirected this reply to generals because I didn't really think
that it was an internals question (and those guys are busy enough :-)


Thanx

-- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux