<?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>Comentarios en: Videotutorial: Patrones de diseño en PHP &#8211; Singleton Pattern</title>
	<atom:link href="http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/</link>
	<description>Diseño y desarrollo web</description>
	<lastBuildDate>Wed, 01 Feb 2012 15:23:26 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>Por: Dario</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-13071</link>
		<dc:creator>Dario</dc:creator>
		<pubDate>Sat, 21 Jan 2012 15:00:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-13071</guid>
		<description>Hola colegas, les comento, estoy desarrollando una aplicación en php y necesito solucionar un problemita que ya me esta sacando canas verdes, hace un tiempo largo que estoy con esto y nada....
Resulta que mi aplicación esta distribuida en MODELO, VISTA y CONTROLADOR.... en el controlador están todas las librerías y hay un controlador que es quien comanda todas las lineas de códigos a ejecutar, incluyendo las librerías correspondientes....
En la vista no existe ningún tipo de código php, solo es html y txt.... para ello el controlador es quien muestra los datos de la base de datos en el html remplazando los txt que le coloco, por ejemplo...en el html coloco {USUARIO} y en php controlador coloco un método que contenga str_replace() y que contenga los datos a remplazar ( str_replace($datosHTML,$datosController,$Cadena) )........ mi problema esta en que los datos extraídos desde la base de datos los muestra en el html, pero fuera del div, como que no entendiera que tiene que ir ubicado dentro del div que contiene {USUARIO}... habrá otra forma extraer datos desde la base de datos y remplazarlos en html, y que cumplan un perfecto orden dentro del div?


p/d =cabe aclarar que ese problema lo tengo cuando llamo los datos desde la base de datos y no cuando coloco una cadena simple &quot;Hola mundo&quot;.


Para mas ayuda, colocare mis metodos:

PHP:

Código:
public function getTemplate($cadena, $code, $fill) {

        $archivo = &quot;View/default/&quot; . $fill . &quot;.php&quot;;
        
         

         $remplazo = file_get_contents($archivo);

         $remplazo = str_replace($cadena, $code, $remplazo);

        
       $fp = fopen($archivo, &quot;r&quot;);
$write = fputs($fp, $remplazo);
fclose($fp);
//esto es metodo de la libreria singleton

Controlador : 

Código:
public function index() {


        $this-&gt;callLibrary(&quot;Singleton&quot;);
        $this-&gt;callLibrary(&quot;Template&quot;);

         $this-&gt;callMetod(new Template())-&gt;callView(&quot;header&quot;);

        $this-&gt;callMetod(Singleton::getInstacia())-&gt;getTemplate(
                array(
                    &quot;{fecha}&quot;, //dato a remplazar en el html
                    &quot;{titulo}&quot;,
                    &quot;{detalle}&quot;
                ),
                array(
                    $this-&gt;date(),
                    $this-&gt;post(&quot;titulo&quot;), //dato remplazador
                    $this-&gt;post(&quot;detalle&quot;)),
                &quot;content&quot;);//   archivo


        
        //siempre instanciando su clase podemos llamar al metodo
        // $this-&gt;callMetod(new Template())-&gt;callView(&quot;content&quot;);
        $this-&gt;callMetod(new Template())-&gt;callView(&quot;footer&quot;);
    }

HTML Contenido

Código:


    
        {titulo}
        {fecha}
        {detalle}

    





Bueno gente espero que me puedan ayudar y muchas gracias por leer mi pregunta...saludos</description>
		<content:encoded><![CDATA[<p>Hola colegas, les comento, estoy desarrollando una aplicación en php y necesito solucionar un problemita que ya me esta sacando canas verdes, hace un tiempo largo que estoy con esto y nada&#8230;.<br />
Resulta que mi aplicación esta distribuida en MODELO, VISTA y CONTROLADOR&#8230;. en el controlador están todas las librerías y hay un controlador que es quien comanda todas las lineas de códigos a ejecutar, incluyendo las librerías correspondientes&#8230;.<br />
En la vista no existe ningún tipo de código php, solo es html y txt&#8230;. para ello el controlador es quien muestra los datos de la base de datos en el html remplazando los txt que le coloco, por ejemplo&#8230;en el html coloco {USUARIO} y en php controlador coloco un método que contenga str_replace() y que contenga los datos a remplazar ( str_replace($datosHTML,$datosController,$Cadena) )&#8230;&#8230;.. mi problema esta en que los datos extraídos desde la base de datos los muestra en el html, pero fuera del div, como que no entendiera que tiene que ir ubicado dentro del div que contiene {USUARIO}&#8230; habrá otra forma extraer datos desde la base de datos y remplazarlos en html, y que cumplan un perfecto orden dentro del div?</p>
<p>p/d =cabe aclarar que ese problema lo tengo cuando llamo los datos desde la base de datos y no cuando coloco una cadena simple &#8220;Hola mundo&#8221;.</p>
<p>Para mas ayuda, colocare mis metodos:</p>
<p>PHP:</p>
<p>Código:<br />
public function getTemplate($cadena, $code, $fill) {</p>
<p>        $archivo = &#8220;View/default/&#8221; . $fill . &#8220;.php&#8221;;</p>
<p>         $remplazo = file_get_contents($archivo);</p>
<p>         $remplazo = str_replace($cadena, $code, $remplazo);</p>
<p>       $fp = fopen($archivo, &#8220;r&#8221;);<br />
$write = fputs($fp, $remplazo);<br />
fclose($fp);<br />
//esto es metodo de la libreria singleton</p>
<p>Controlador : </p>
<p>Código:<br />
public function index() {</p>
<p>        $this-&gt;callLibrary(&#8220;Singleton&#8221;);<br />
        $this-&gt;callLibrary(&#8220;Template&#8221;);</p>
<p>         $this-&gt;callMetod(new Template())-&gt;callView(&#8220;header&#8221;);</p>
<p>        $this-&gt;callMetod(Singleton::getInstacia())-&gt;getTemplate(<br />
                array(<br />
                    &#8220;{fecha}&#8221;, //dato a remplazar en el html<br />
                    &#8220;{titulo}&#8221;,<br />
                    &#8220;{detalle}&#8221;<br />
                ),<br />
                array(<br />
                    $this-&gt;date(),<br />
                    $this-&gt;post(&#8220;titulo&#8221;), //dato remplazador<br />
                    $this-&gt;post(&#8220;detalle&#8221;)),<br />
                &#8220;content&#8221;);//   archivo</p>
<p>        //siempre instanciando su clase podemos llamar al metodo<br />
        // $this-&gt;callMetod(new Template())-&gt;callView(&#8220;content&#8221;);<br />
        $this-&gt;callMetod(new Template())-&gt;callView(&#8220;footer&#8221;);<br />
    }</p>
<p>HTML Contenido</p>
<p>Código:</p>
<p>        {titulo}<br />
        {fecha}<br />
        {detalle}</p>
<p>Bueno gente espero que me puedan ayudar y muchas gracias por leer mi pregunta&#8230;saludos</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Dario</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-11412</link>
		<dc:creator>Dario</dc:creator>
		<pubDate>Wed, 14 Sep 2011 21:50:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-11412</guid>
		<description>Hola colegas, les comento, estoy haciendo un framework y me trabe en una parte...... es creando el boots que me va a mostrar los resultados en la vista.
Logre que me muestre un dato de la base de datos remplazando con str_replace()...pero mi problema esta que cuando muestro el dato me abre el archivo que coloco en str_replace() -(al cual lo uso como cadena)- .. me lo abre tantas veces como se repita la iteracion de muestra de los datos de la DB.
Espero poder haberme explicado bien...aca les dejo el script que me tiene que abrir la vista..

public function reWriteFile($ruta, $file, $consult, $data) {

/*metodo que me trae los datos de la base de datos */

$dato = $this-&gt;helper-&gt;loadDataDB($consult, $data);

$logitud = sizeof($dato);

for ($i = 0; $i &lt; $logitud; $i++) {

$remplazador = &quot;{$dato[$i][$data]} - Hello&quot;;

//ubicamos el archivo para poder leerlo

$filename = &quot;skins/default/contents/&quot; . $file . &quot;.tpl.php&quot;;

//lo leemos con la funcion file_get_content()

$leer = file_get_contents($filename);



//strstr encuentra una aguja en un pajar
$remplazado = &quot;{&quot; . $data . &quot;}&quot;;
if (!strstr($leer, $remplazado)) {

echo &quot;No se logro encontrar la expresion regular &quot; . $remplazado . &quot;&quot;;
} else {

$remplazo = str_replace($remplazado, $remplazador, $leer);

}
echo $remplazo;

}


}

SI ALGUIEN ME DA UNA MANO PARA QUE ESE DATO SALGA CORRECTAMENTE Y QUE EL ARCHIVO NO SE ABRA TANTAS VECES COMO DATO ALLA EN LA BASE DE DATOS SE LO VOY A AGRADECER...:)

Saludos y desde ya gracias por leerlo...</description>
		<content:encoded><![CDATA[<p>Hola colegas, les comento, estoy haciendo un framework y me trabe en una parte&#8230;&#8230; es creando el boots que me va a mostrar los resultados en la vista.<br />
Logre que me muestre un dato de la base de datos remplazando con str_replace()&#8230;pero mi problema esta que cuando muestro el dato me abre el archivo que coloco en str_replace() -(al cual lo uso como cadena)- .. me lo abre tantas veces como se repita la iteracion de muestra de los datos de la DB.<br />
Espero poder haberme explicado bien&#8230;aca les dejo el script que me tiene que abrir la vista..</p>
<p>public function reWriteFile($ruta, $file, $consult, $data) {</p>
<p>/*metodo que me trae los datos de la base de datos */</p>
<p>$dato = $this-&gt;helper-&gt;loadDataDB($consult, $data);</p>
<p>$logitud = sizeof($dato);</p>
<p>for ($i = 0; $i &lt; $logitud; $i++) {</p>
<p>$remplazador = &quot;{$dato[$i][$data]} &#8211; Hello&quot;;</p>
<p>//ubicamos el archivo para poder leerlo</p>
<p>$filename = &quot;skins/default/contents/&quot; . $file . &quot;.tpl.php&quot;;</p>
<p>//lo leemos con la funcion file_get_content()</p>
<p>$leer = file_get_contents($filename);</p>
<p>//strstr encuentra una aguja en un pajar<br />
$remplazado = &quot;{&quot; . $data . &quot;}&quot;;<br />
if (!strstr($leer, $remplazado)) {</p>
<p>echo &quot;No se logro encontrar la expresion regular &#8221; . $remplazado . &#8220;&#8221;;<br />
} else {</p>
<p>$remplazo = str_replace($remplazado, $remplazador, $leer);</p>
<p>}<br />
echo $remplazo;</p>
<p>}</p>
<p>}</p>
<p>SI ALGUIEN ME DA UNA MANO PARA QUE ESE DATO SALGA CORRECTAMENTE Y QUE EL ARCHIVO NO SE ABRA TANTAS VECES COMO DATO ALLA EN LA BASE DE DATOS SE LO VOY A AGRADECER&#8230;:)</p>
<p>Saludos y desde ya gracias por leerlo&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Patrón Singleton en PHP</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-4980</link>
		<dc:creator>Patrón Singleton en PHP</dc:creator>
		<pubDate>Wed, 11 May 2011 08:40:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-4980</guid>
		<description>[...] en: David Rojas  [...]</description>
		<content:encoded><![CDATA[<p>[...] en: David Rojas  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: anuncio interactivo</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-1673</link>
		<dc:creator>anuncio interactivo</dc:creator>
		<pubDate>Mon, 04 Apr 2011 03:39:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-1673</guid>
		<description>Esta sensacional el video.......</description>
		<content:encoded><![CDATA[<p>Esta sensacional el video&#8230;&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Eduardo</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-1667</link>
		<dc:creator>Eduardo</dc:creator>
		<pubDate>Thu, 31 Mar 2011 21:38:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-1667</guid>
		<description>Buenas David. En el video explicas claramente el comportamiento y la diferencia sobre una clase tipo singleton y una clase comun.  Actualmente estoy desarrollando un framework algo parecido a wordpress, los que programamos en wp sabemos que este cms utiliza variables globales del tipo global $post global $page $WP etc... creo que la forma mas optimizada hubiese sido que generaran todas estas variables dentro de un singleton y que este, este disponible en todo el cms.  Por lo tanto en mi framework &quot;The framework&quot; he decidido aplicarlo. Creo que es un ejemplo mas de su utilizacion.
Un saludo.</description>
		<content:encoded><![CDATA[<p>Buenas David. En el video explicas claramente el comportamiento y la diferencia sobre una clase tipo singleton y una clase comun.  Actualmente estoy desarrollando un framework algo parecido a wordpress, los que programamos en wp sabemos que este cms utiliza variables globales del tipo global $post global $page $WP etc&#8230; creo que la forma mas optimizada hubiese sido que generaran todas estas variables dentro de un singleton y que este, este disponible en todo el cms.  Por lo tanto en mi framework &#8220;The framework&#8221; he decidido aplicarlo. Creo que es un ejemplo mas de su utilizacion.<br />
Un saludo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Gloria Lucia</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-1666</link>
		<dc:creator>Gloria Lucia</dc:creator>
		<pubDate>Thu, 31 Mar 2011 14:18:39 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-1666</guid>
		<description>Cordial Saludo:
Excelente video. Soy docente y lo estoy utilizando como material de clase,... claro está que te estoy dando tus créditos. Muchísimas gracias !!!
Ojalá tener videos de los demás patrones.
Hasta luego,
Gloria Lucía.</description>
		<content:encoded><![CDATA[<p>Cordial Saludo:<br />
Excelente video. Soy docente y lo estoy utilizando como material de clase,&#8230; claro está que te estoy dando tus créditos. Muchísimas gracias !!!<br />
Ojalá tener videos de los demás patrones.<br />
Hasta luego,<br />
Gloria Lucía.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: richard</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-1524</link>
		<dc:creator>richard</dc:creator>
		<pubDate>Wed, 02 Feb 2011 22:20:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-1524</guid>
		<description>Hola , Tengo una consulta digamos que tengo varias clases a las que quiero implementar el patron singleton ,entonces me pregunto si no seria mejor crear una clase llamada Singleton y pasarle el nombre de la clase como parametro al metodo getinstace, para que este lo guarde en un array , y asi no tener que escribirle el codigo a todas las clases ?

y usarlo asi
$SMyclase = singleton::getinstance(&#039;Myclase&#039;);

O existe algun otro patron que se encargue de esto.

Saludos !</description>
		<content:encoded><![CDATA[<p>Hola , Tengo una consulta digamos que tengo varias clases a las que quiero implementar el patron singleton ,entonces me pregunto si no seria mejor crear una clase llamada Singleton y pasarle el nombre de la clase como parametro al metodo getinstace, para que este lo guarde en un array , y asi no tener que escribirle el codigo a todas las clases ?</p>
<p>y usarlo asi<br />
$SMyclase = singleton::getinstance(&#8216;Myclase&#8217;);</p>
<p>O existe algun otro patron que se encargue de esto.</p>
<p>Saludos !</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-981</link>
		<dc:creator>Enrique</dc:creator>
		<pubDate>Fri, 24 Sep 2010 13:54:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-981</guid>
		<description>Si, veia la diferencia, pero no veia la utilidad y ahora que lo mencionas creo que tener un objeto puede tener varias ventajas respecto a manejarse con una clase estática (implementar interfaces, heredar, pasarlo como parámetro, instanciarlo solo cuando lo necesitamos, etc).
Gracias David!</description>
		<content:encoded><![CDATA[<p>Si, veia la diferencia, pero no veia la utilidad y ahora que lo mencionas creo que tener un objeto puede tener varias ventajas respecto a manejarse con una clase estática (implementar interfaces, heredar, pasarlo como parámetro, instanciarlo solo cuando lo necesitamos, etc).<br />
Gracias David!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: David Rojas</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-978</link>
		<dc:creator>David Rojas</dc:creator>
		<pubDate>Fri, 24 Sep 2010 07:15:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-978</guid>
		<description>@Enrique Con un singleton se crea una instancia única de una clase, que puede ser pasada como parámetro a otros métodos y tratada como un objecto normal. Las clases estáticas no pueden implementar interfaces, realmente es como si tuviéramos simplemente funciones, no sé si ves la diferencia. Piensa por ejemplo en cómo implementan la mayoría de los frameworks la capa de conexión a la base de datos, utilizando un singleton para crear la conexión con la BD y así reutilizar esa instancia.</description>
		<content:encoded><![CDATA[<p>@Enrique Con un singleton se crea una instancia única de una clase, que puede ser pasada como parámetro a otros métodos y tratada como un objecto normal. Las clases estáticas no pueden implementar interfaces, realmente es como si tuviéramos simplemente funciones, no sé si ves la diferencia. Piensa por ejemplo en cómo implementan la mayoría de los frameworks la capa de conexión a la base de datos, utilizando un singleton para crear la conexión con la BD y así reutilizar esa instancia.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Enrique</title>
		<link>http://www.davidrojas.net/index.php/desarrollo-web/screencast-patrones-de-diseno-en-php-singleton-pattern/comment-page-1/#comment-975</link>
		<dc:creator>Enrique</dc:creator>
		<pubDate>Fri, 24 Sep 2010 04:57:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.davidrojas.net/?p=755#comment-975</guid>
		<description>Hola, y cual es la diferencia con una clase estática? es decir, por qué no hacer todos los métodos estáticos y listo?</description>
		<content:encoded><![CDATA[<p>Hola, y cual es la diferencia con una clase estática? es decir, por qué no hacer todos los métodos estáticos y listo?</p>
]]></content:encoded>
	</item>
</channel>
</rss>

