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

Your name:

Reply:


Posted by Jochem Maas on 05/09/05 21:10

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

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация