<?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: Crear una clase para conectar a la base de datos (IV)</title>
	<atom:link href="http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/</link>
	<description>Programación de páginas web</description>
	<lastBuildDate>Tue, 18 Oct 2011 01:40:44 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>Por: Marcos Fernández</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-109</link>
		<dc:creator>Marcos Fernández</dc:creator>
		<pubDate>Mon, 08 Nov 2010 23:21:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-109</guid>
		<description>Buenas dhamaso, 

deberías crearte una clase padre que se encargue de todo el proceso de conexión y todas diferentes operaciones con la base de datos. Por otro lado, deberías crearte una clase para cada una de las diferentes conexiones a las bases de datos distintas a la que te vayas a conectar. Estas clases heredarán de la clase padre y únicamente se encargarán de pasar los datos de conexión, de esta forma, tendrás los datos de conexión a la base de datos controlados en clases fácilmente modificables y ampliables. 

No se si me he explicado bien, pero en España es algo tarde y tengo bastante sueño.

Gracias por visitar mi página, que por cierto, por motivos laborales y personales la tengo basante abandonada.

Un saludo</description>
		<content:encoded><![CDATA[<p>Buenas dhamaso, </p>
<p>deberías crearte una clase padre que se encargue de todo el proceso de conexión y todas diferentes operaciones con la base de datos. Por otro lado, deberías crearte una clase para cada una de las diferentes conexiones a las bases de datos distintas a la que te vayas a conectar. Estas clases heredarán de la clase padre y únicamente se encargarán de pasar los datos de conexión, de esta forma, tendrás los datos de conexión a la base de datos controlados en clases fácilmente modificables y ampliables. </p>
<p>No se si me he explicado bien, pero en España es algo tarde y tengo bastante sueño.</p>
<p>Gracias por visitar mi página, que por cierto, por motivos laborales y personales la tengo basante abandonada.</p>
<p>Un saludo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: dhamaso</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-108</link>
		<dc:creator>dhamaso</dc:creator>
		<pubDate>Mon, 08 Nov 2010 20:52:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-108</guid>
		<description>de antemano gracias y espero tu respuesta, saludos desme México.</description>
		<content:encoded><![CDATA[<p>de antemano gracias y espero tu respuesta, saludos desme México.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: dhamaso</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-107</link>
		<dc:creator>dhamaso</dc:creator>
		<pubDate>Mon, 08 Nov 2010 20:51:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-107</guid>
		<description>hola marcos, primeramente un saludo, oye con tu clase de conexion, como podria hacer para &quot;cambiar&quot; de base de datos &quot;al vuelo&quot;, por ejemplo:
en el archivo config.php tengo lo siguiente:

$host=&#039;localhost&#039;;
$user=&#039;root&#039;;
$password=&#039;&#039;;
$db=&#039;pagina_web&#039;;
entonces cuando creo la instancia de la clase se crea con los datos leidos en el archivo config.php:

&lt;code&gt;$db=Db::GetInstance();&lt;/code&gt;

y en Db.php he modificado un poco tu clase:

&lt;code&gt;
public static function GetInstance($server=&quot;&quot;,$userdb=&quot;&quot;,$passdb=&quot;&quot;,$data_base=&quot;&quot;,$manejador=&quot;&quot;){
      if (!(self::$_instance instanceof self)){
	 self::$_instance=new self($server,$userdb,$passdb,$data_base,$manejador);
      }else{
	    return self::$_instance;
     }
   }
&lt;/code&gt;

y luego en el constructor me conecto. para tratar de hacer lo siguiente:
&lt;code&gt;$db=Db::GetInstance(&#039;localhost&#039;,&#039;root&#039;,&#039;&#039;,otra_base&#039;);&lt;/code&gt;

pero como te habras dado cuenta la base de datos nunca va a cambiar por que si el objeto ya esta creado lo unico que hace es regresar dicha instancia.

so, hay alguna manera de hacer eso sin tener que crear un nuevo objeto.</description>
		<content:encoded><![CDATA[<p>hola marcos, primeramente un saludo, oye con tu clase de conexion, como podria hacer para &#8220;cambiar&#8221; de base de datos &#8220;al vuelo&#8221;, por ejemplo:<br />
en el archivo config.php tengo lo siguiente:</p>
<p>$host=&#8217;localhost&#8217;;<br />
$user=&#8217;root&#8217;;<br />
$password=&#8221;;<br />
$db=&#8217;pagina_web&#8217;;<br />
entonces cuando creo la instancia de la clase se crea con los datos leidos en el archivo config.php:</p>
<p><code>$db=Db::GetInstance();</code></p>
<p>y en Db.php he modificado un poco tu clase:</p>
<p><code><br />
public static function GetInstance($server="",$userdb="",$passdb="",$data_base="",$manejador=""){<br />
      if (!(self::$_instance instanceof self)){<br />
	 self::$_instance=new self($server,$userdb,$passdb,$data_base,$manejador);<br />
      }else{<br />
	    return self::$_instance;<br />
     }<br />
   }<br />
</code></p>
<p>y luego en el constructor me conecto. para tratar de hacer lo siguiente:<br />
<code>$db=Db::GetInstance('localhost','root','',otra_base');</code></p>
<p>pero como te habras dado cuenta la base de datos nunca va a cambiar por que si el objeto ya esta creado lo unico que hace es regresar dicha instancia.</p>
<p>so, hay alguna manera de hacer eso sin tener que crear un nuevo objeto.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Marcos Fernández</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-105</link>
		<dc:creator>Marcos Fernández</dc:creator>
		<pubDate>Sat, 09 Oct 2010 07:19:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-105</guid>
		<description>Buenas, no tengo nada hecho en PDO ya que normalmente trabajo con clases que utilizan el patrón de DAOs (Data Access Object) y VO (Value Object).

Un saludo</description>
		<content:encoded><![CDATA[<p>Buenas, no tengo nada hecho en PDO ya que normalmente trabajo con clases que utilizan el patrón de DAOs (Data Access Object) y VO (Value Object).</p>
<p>Un saludo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: dhamaso</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-104</link>
		<dc:creator>dhamaso</dc:creator>
		<pubDate>Tue, 05 Oct 2010 22:05:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-104</guid>
		<description>Oye tu no tienes una clase mas o menos como la que hiciste pero con PDO para php?

es que busco y busco y nada bueno.
bueno pues espero tu respuesta haber si tienes auquesea un poquito de codigo.</description>
		<content:encoded><![CDATA[<p>Oye tu no tienes una clase mas o menos como la que hiciste pero con PDO para php?</p>
<p>es que busco y busco y nada bueno.<br />
bueno pues espero tu respuesta haber si tienes auquesea un poquito de codigo.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Evelyn</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-94</link>
		<dc:creator>Evelyn</dc:creator>
		<pubDate>Sat, 19 Dec 2009 12:31:05 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-94</guid>
		<description>Gracias, la conexion salio perfecta, pero si podrías ayudarm en crear una funcion insertar, modificar, eliminar, actualizar, por favor lo necesito.</description>
		<content:encoded><![CDATA[<p>Gracias, la conexion salio perfecta, pero si podrías ayudarm en crear una funcion insertar, modificar, eliminar, actualizar, por favor lo necesito.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Marcos Fernández</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-92</link>
		<dc:creator>Marcos Fernández</dc:creator>
		<pubDate>Sat, 05 Dec 2009 08:41:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-92</guid>
		<description>Buenas marcelo. Por supuesto que se puede mejorar esta clase o utilizar cualquier clase utilizada o incluso algún ORM similar a Hibernate de Java. Esto sólo pretende ser una introducción de cómo confeccionar una clase a modo de ejemplo.

Un saludo</description>
		<content:encoded><![CDATA[<p>Buenas marcelo. Por supuesto que se puede mejorar esta clase o utilizar cualquier clase utilizada o incluso algún ORM similar a Hibernate de Java. Esto sólo pretende ser una introducción de cómo confeccionar una clase a modo de ejemplo.</p>
<p>Un saludo</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: marcelo</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-91</link>
		<dc:creator>marcelo</dc:creator>
		<pubDate>Tue, 01 Dec 2009 01:26:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-91</guid>
		<description>?¿</description>
		<content:encoded><![CDATA[<p>?¿</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: marcelo</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-90</link>
		<dc:creator>marcelo</dc:creator>
		<pubDate>Tue, 01 Dec 2009 01:14:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-90</guid>
		<description>pienso que tendrian que revisar un poco la clase para poder hacer mas optima y general, usar un poco de polimorfismo y dividir en clases los difierentes tipos de base de datos, en ves de usar tanto case que no es una buena para un programador objeto.

recomiendo revisar algunos framework como synfony que tienen exentes clases de base de datos, muy bien armadas y utilizando eficientemente OOP.

saludos</description>
		<content:encoded><![CDATA[<p>pienso que tendrian que revisar un poco la clase para poder hacer mas optima y general, usar un poco de polimorfismo y dividir en clases los difierentes tipos de base de datos, en ves de usar tanto case que no es una buena para un programador objeto.</p>
<p>recomiendo revisar algunos framework como synfony que tienen exentes clases de base de datos, muy bien armadas y utilizando eficientemente OOP.</p>
<p>saludos</p>
]]></content:encoded>
	</item>
	<item>
		<title>Por: Marcos Fernández</title>
		<link>http://www.marcosdev.com/crear-una-clase-para-conectar-a-la-base-de-datos-iv/comment-page-1/#comment-87</link>
		<dc:creator>Marcos Fernández</dc:creator>
		<pubDate>Mon, 19 Oct 2009 16:33:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.marcosdev.com/?p=57#comment-87</guid>
		<description>En esta línea: case &#039;postgress&#039;: $link=pg_connect(&quot;host=&quot;.$this-&gt;servidor.&quot; dbname=&quot;.$this-&gt;base_datos.&quot; user=&quot;.$this-&gt;usuario.&quot; password=&quot;.$this-&gt;password) pon un ; al final que en la versión que hay subida al servidor, se me pasó, lo siento. 

Un saludo</description>
		<content:encoded><![CDATA[<p>En esta línea: case &#8216;postgress&#8217;: $link=pg_connect(&#8220;host=&#8221;.$this->servidor.&#8221; dbname=&#8221;.$this->base_datos.&#8221; user=&#8221;.$this->usuario.&#8221; password=&#8221;.$this->password) pon un ; al final que en la versión que hay subida al servidor, se me pasó, lo siento. </p>
<p>Un saludo</p>
]]></content:encoded>
	</item>
</channel>
</rss>

