Reply to Re: Simple (?) Singleton Question

Your name:

Reply:


Posted by ZeldorBlat on 11/14/07 14:25

On Nov 13, 6:04 pm, Rob Wilkerson <r.d.wilker...@gmail.com> wrote:
> Hey all -
>
> Not being a seasoned PHP developer, tonight I started playing with the
> use of the Singleton pattern to store configuration information. What
> I was surprised to find was that the instance - at least the one I'm
> creating - isn't really a singleton. With each request, the
> constructor is called. Isn't that very much *not* a singleton or am I
> misunderstanding or doing something wrong? I'm using a pretty simple
> case:
>
> class Config
> {
> private static $instance;
>
> private function __construct() {
> echo '<p>Constructing</p>';
> }
>
> public static function getInstance()
> {
> if (!self::$instance)
> {
> self::$instance = new self();
> }
>
> return self::$instance;
> }
> public function clear() {
> echo '<p>clearing...</p>';
> self::$instance = null;
> }
>
> }
>
> What am I not doing or not understanding?
>
> Any insight would be greatly appreciated.
>
> Rob

That's expected. Remember that in PHP each request is independent of
the next. You'll only create one instance of your class /per request/
but it will be available everywhere you go.

Consider a database connection as an example. You open the connection
once per request, and you close it when the request is finished.
While the request is executing you only have/need a single connection
(i.e. you don't need to reconnect every time you execute a query) no
matter where in your code you go.

That's how singletons work in PHP.

[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

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