<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Patrones en PHP5 : Singleton</title>
	<atom:link href="http://blog.pecesama.net/patrones-en-php5-singleton/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.pecesama.net/patrones-en-php5-singleton/</link>
	<description>Programación web y TI</description>
	<lastBuildDate>Thu, 25 Feb 2010 03:12:16 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: allende</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-33479</link>
		<dc:creator>allende</dc:creator>
		<pubDate>Thu, 21 Jan 2010 13:44:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-33479</guid>
		<description>Muy claro el ejemplo, solo tengo una duda



Si (corrigeme si me equivoco por favor o aclaramelo) &quot;__CLASS__&quot; regresa un string con el nombre de la clase, como es posible que funcione en la siguiente linea la variable $obj. 

$obj = __CLASS__;
self::$instancia = new $obj;


Es decir si hiciera:
self::$instancia = new &quot;Singleton&quot;;

No funciona (salvo que quite las comillas), me deja un poco perdido eso, ademas de que usar __CLASS__ después del new tampoco me funciona:
self::$instancia = new __CLASS__;

Supongo que usar &quot;self&quot; o &quot;Singleton&quot; (sin comillas) es equivalente al uso de &quot;$obj = __CLASS__&quot; y luego:
self::$instancia = new $obj;

Un saludo y gracias.</description>
		<content:encoded><![CDATA[<p>Muy claro el ejemplo, solo tengo una duda</p>
<p>Si (corrigeme si me equivoco por favor o aclaramelo) &#8220;__CLASS__&#8221; regresa un string con el nombre de la clase, como es posible que funcione en la siguiente linea la variable $obj. </p>
<p>$obj = __CLASS__;<br />
self::$instancia = new $obj;</p>
<p>Es decir si hiciera:<br />
self::$instancia = new &#8220;Singleton&#8221;;</p>
<p>No funciona (salvo que quite las comillas), me deja un poco perdido eso, ademas de que usar __CLASS__ después del new tampoco me funciona:<br />
self::$instancia = new __CLASS__;</p>
<p>Supongo que usar &#8220;self&#8221; o &#8220;Singleton&#8221; (sin comillas) es equivalente al uso de &#8220;$obj = __CLASS__&#8221; y luego:<br />
self::$instancia = new $obj;</p>
<p>Un saludo y gracias.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrón Singleton parte II &#124; Bajalo.com - Videos Gratis, Musica, Noticias, Deportes, Tecnologia, Farandula y mucho mas</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32726</link>
		<dc:creator>Patrón Singleton parte II &#124; Bajalo.com - Videos Gratis, Musica, Noticias, Deportes, Tecnologia, Farandula y mucho mas</dc:creator>
		<pubDate>Mon, 21 Jul 2008 04:20:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32726</guid>
		<description>[...] el post anterior vimos como implementar el patrón Singleton en nuestras clases. Pero cuando tenemos nuestro sistema con muchas clases que requieren hacer uso [...]</description>
		<content:encoded><![CDATA[<p>[...] el post anterior vimos como implementar el patrón Singleton en nuestras clases. Pero cuando tenemos nuestro sistema con muchas clases que requieren hacer uso [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pecesama</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32623</link>
		<dc:creator>pecesama</dc:creator>
		<pubDate>Sun, 01 Jun 2008 02:19:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32623</guid>
		<description>jhon eln la segunda parte de este patron explico como usarlo http://www.pecesama.net/weblog/2008/03/25/patron-singleton-parte-ii/</description>
		<content:encoded><![CDATA[<p>jhon eln la segunda parte de este patron explico como usarlo <a href="http://www.pecesama.net/weblog/2008/03/25/patron-singleton-parte-ii/" rel="nofollow">http://www.pecesama.net/weblog/2008/03/25/patron-singleton-parte-ii/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jhon</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32622</link>
		<dc:creator>jhon</dc:creator>
		<pubDate>Sun, 01 Jun 2008 00:14:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32622</guid>
		<description>bueno realmente probe el ejemplo y funciono bien el problema surge cuando incluyo &quot;singleton&quot; el la clase A y tambien lo hago en B;
hasta hay todo bien pero cuando trato de incluir B en A me dice que no puedo redeclarar &quot;singleton&quot;..mi pregunta de que manera puedo hacerlo pues necesito manejar las clase...grasias</description>
		<content:encoded><![CDATA[<p>bueno realmente probe el ejemplo y funciono bien el problema surge cuando incluyo &#8220;singleton&#8221; el la clase A y tambien lo hago en B;<br />
hasta hay todo bien pero cuando trato de incluir B en A me dice que no puedo redeclarar &#8220;singleton&#8221;..mi pregunta de que manera puedo hacerlo pues necesito manejar las clase&#8230;grasias</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pecesama</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32536</link>
		<dc:creator>pecesama</dc:creator>
		<pubDate>Thu, 27 Mar 2008 01:38:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32536</guid>
		<description>Todo claro ahora :)</description>
		<content:encoded><![CDATA[<p>Todo claro ahora <img src='http://blog.pecesama.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marcoss</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32533</link>
		<dc:creator>marcoss</dc:creator>
		<pubDate>Wed, 26 Mar 2008 15:59:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32533</guid>
		<description>Ya me di cuenta donde estaba mi error, lo peor es que creo que lo probe antes de comentar y se ve que funcionaba... pero ahora veo que no tiene sentido, en fin, eso pasa por dejar un comentario cuando debería estar durmiendo :P

La segunda opción está mas clara igual, &quot;self::$instancia = new self();&quot;</description>
		<content:encoded><![CDATA[<p>Ya me di cuenta donde estaba mi error, lo peor es que creo que lo probe antes de comentar y se ve que funcionaba&#8230; pero ahora veo que no tiene sentido, en fin, eso pasa por dejar un comentario cuando debería estar durmiendo <img src='http://blog.pecesama.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p>La segunda opción está mas clara igual, &#8220;self::$instancia = new self();&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: pecesama</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32528</link>
		<dc:creator>pecesama</dc:creator>
		<pubDate>Tue, 25 Mar 2008 17:50:41 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32528</guid>
		<description>&lt;strong&gt;marcoss&lt;/strong&gt; muy buena pregunta, trataré de responder lo mejor que pueda, pero se me pude ir algo, tú dime si se me esta escapando algo ahora a mi :)

Creo que hay un poco de confusión, el &amp; se usaba en PHP4 para pasar variables u objetos por referencia, pero en PHP5 ya todo es por referencia, por lo que el &amp; deja de ser útil, y me parece que usar el &lt;code&gt;self::instancia&lt;/code&gt; seria mezclarlo, más bien algo así:

&lt;code&gt;$instancia =&amp; new $class;&lt;/code&gt;

En la forma en que me muestras el método &lt;code&gt;getInstance&lt;/code&gt; no funcionaría correctamente ya que no hay validaciones de que si no existe previamente el objeto cree uno nuevo y el método debería llevar un &amp; en el nombre, quedaría algo así en PHP4 ese método:

&lt;code&gt;
function &amp;getInstance ($class) {
    static $instancia;
    if (!isset( $instancia ))  {
        $instancia =&amp; new $class;
    }
    return $instancia;   
}   
&lt;/code&gt;

Y el método en PHP5 se podría simplificar de la siguiente manera:

&lt;code&gt;
public static function getInstance () {
    if (!isset(self::$instancia)) {
        self::$instancia = new self();
    }
    return self::$instancia;
}
&lt;/code&gt;</description>
		<content:encoded><![CDATA[<p><strong>marcoss</strong> muy buena pregunta, trataré de responder lo mejor que pueda, pero se me pude ir algo, tú dime si se me esta escapando algo ahora a mi <img src='http://blog.pecesama.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Creo que hay un poco de confusión, el &#038; se usaba en PHP4 para pasar variables u objetos por referencia, pero en PHP5 ya todo es por referencia, por lo que el &#038; deja de ser útil, y me parece que usar el <code>self::instancia</code> seria mezclarlo, más bien algo así:</p>
<p><code>$instancia =&#038; new $class;</code></p>
<p>En la forma en que me muestras el método <code>getInstance</code> no funcionaría correctamente ya que no hay validaciones de que si no existe previamente el objeto cree uno nuevo y el método debería llevar un &#038; en el nombre, quedaría algo así en PHP4 ese método:</p>
<p><code><br />
function &#038;getInstance ($class) {<br />
    static $instancia;<br />
    if (!isset( $instancia ))  {<br />
        $instancia =&#038; new $class;<br />
    }<br />
    return $instancia;<br />
}<br />
</code></p>
<p>Y el método en PHP5 se podría simplificar de la siguiente manera:</p>
<p><code><br />
public static function getInstance () {<br />
    if (!isset(self::$instancia)) {<br />
        self::$instancia = new self();<br />
    }<br />
    return self::$instancia;<br />
}<br />
</code></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: &#160; Patrón Singleton parte II&#160;by&#160;Pecesama.Net [weblog]</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32527</link>
		<dc:creator>&#160; Patrón Singleton parte II&#160;by&#160;Pecesama.Net [weblog]</dc:creator>
		<pubDate>Tue, 25 Mar 2008 15:02:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32527</guid>
		<description>[...] el post anterior vimos como implementar el patrón Singleton en nuestras clases. Pero cuando tenemos nuestro sistema con muchas clases que requieren hacer uso [...]</description>
		<content:encoded><![CDATA[<p>[...] el post anterior vimos como implementar el patrón Singleton en nuestras clases. Pero cuando tenemos nuestro sistema con muchas clases que requieren hacer uso [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: marcoss</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32524</link>
		<dc:creator>marcoss</dc:creator>
		<pubDate>Tue, 25 Mar 2008 03:25:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32524</guid>
		<description>No me convence mucho como instancias, creo que esto:

&lt;code&gt;public static function getInstance () {
	if (!isset(self::$instancia)) {
		$obj = __CLASS__;
		self::$instancia = new $obj;
	}
	return self::$instancia;
}&lt;/code&gt;

podría simplificarse en:

&lt;code&gt;public static function getInstance () {
	self::$instancia =&amp; $this;
}&lt;/code&gt;

Vos que sos mas conocedor, fijate si tiene alguna desventaja que no estoy viendo.</description>
		<content:encoded><![CDATA[<p>No me convence mucho como instancias, creo que esto:</p>
<p><code>public static function getInstance () {<br />
	if (!isset(self::$instancia)) {<br />
		$obj = __CLASS__;<br />
		self::$instancia = new $obj;<br />
	}<br />
	return self::$instancia;<br />
}</code></p>
<p>podría simplificarse en:</p>
<p><code>public static function getInstance () {<br />
	self::$instancia =&amp; $this;<br />
}</code></p>
<p>Vos que sos mas conocedor, fijate si tiene alguna desventaja que no estoy viendo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Patrón singleton con PHP5 &#8212; kodrs</title>
		<link>http://blog.pecesama.net/patrones-en-php5-singleton/comment-page-1/#comment-32521</link>
		<dc:creator>Patrón singleton con PHP5 &#8212; kodrs</dc:creator>
		<pubDate>Mon, 24 Mar 2008 19:31:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.pecesama.net/weblog/2008/03/24/patrones-en-php5-singleton/#comment-32521</guid>
		<description>[...] Ir al tutorial -&gt; Patrón singleton con PHP5 [...]</description>
		<content:encoded><![CDATA[<p>[...] Ir al tutorial -&gt; Patrón singleton con PHP5 [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
