Múltiples conexiones a bases de datos

En cakephp existen gran cantidad de posibilidades desconocidas que, en algunos casos, pueden resultar útiles.
Una de ellas es la posibilidad de declarar más de una conexión a base de datos, pudiendo elegir en cada momento cuál de ellas deseamos utilizar.

Puede resultar muy cómodo para organizar nuestros proyectos, para acceder a diferentes servidores de bases de datos o acceder a diferentes gestores de bases de datos.

El proceso es sencillo, en primer lugar añadiremos al archivo database.php situado en /app/config/ una nueva configuración de base de datos.
Podremos copiar la configuración por defecto, llamada default, y cambiarle el nombre.
El fichero database.php quedará así

class DATABASE_CONFIG {

	var $default = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'database',
		'prefix' => '',
	);

	var $nueva_conexion = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'database_2',
		'prefix' => '',
	);

	var $test = array(
		'driver' => 'mysql',
		'persistent' => false,
		'host' => 'localhost',
		'login' => 'user',
		'password' => 'password',
		'database' => 'test_database_name',
		'prefix' => '',
	);
}

Con esto habremos declarado otra conexión a la base de datos llamada nueva_conexion.
Una de las opciones que tiene la configuración de la base de datos, es la de utilizar un prefijo, es decir, que todas las tablas de la configuración de la base de datos comiencen con una palabra, también puede ser utilizado para organizar las bases de datos.

Para utilizar la configuración de la base de datos que hemos creado, tendremos que añadir en el modelo desde donde queremos acceder a esas tablas la siguiente línea:

	var $useDbConfig ='nueva_conexion';

A partir de este momento, cada vez que accedamos a este modelo, cakephp utilizará las tablas existentes en la base de datos de esa conexión.

Localización e internacionalización

Vamos a ver cómo realizar la internacionalización de nuestra página web. Nos fijaremos únicamente en hacer nuestra página web en varios idiomas, sin atender a otras cuestiones como puede ser el formateo de las monedas o los números.
Los pasos a realizar son los siguientes:
1. Crear tantos ficheros de idiomas como queramos tener. Estos ficheros los [...]

Nueva versión de cakephp 1.2

Cada vez estamos más cerca de la versión final del framework al que dedicamos este blog.
Desde la página de cakephp se puede descargar la versión 1.2.0.7296 rc2, nueva candidata que hace que el lanzamiento de la versión definitiva se encuentre más cercano.
Como en cada actualización, corrección de bugs y pequeñas mejoras que se pueden ver [...]

Actualizar el contenido de un select con ajax.

En esta entrada vamos a explicar como asociar dos selects mediante ajax y al modificar el elemento seleccionado en uno de ellos cambie el contenido del otro.
Podemos ver el ejemplo de funcionamiento aquí.
Un ejemplo muy claro para esta situación sería dos selects, uno con provincias y el otro con localidades, lo que queremos es [...]

Nueva versión de cakephp disponible.

Desde hace unos días está disponible en la página de cakephp, una nueva versión, la 1.2.0.7125 RC1, de este framework de desarrollo escrito en php, del que hablamos en nuestro blog y en el que desarrollamos la gran mayoría de las webs que se crean en nuestra empresa.
Lo importante de esta noticia es que el [...]

Sindicación de noticias

Hoy vamos a explicar cómo hacer en CakePHP 1.2 un canal de sindicación de noticias o sindicación web. Es una funcionalidad que utilizamos con mucha frecuencia en nuestros diseños web y para la que Cake nos ofrece un buen soporte.
Cake nos proporciona un helper, RSSHelper, que nos permite hacer en muy pocas líneas de código [...]

Separación de funcionalidades (similar a fachadas)

CakePHP 1.2 nos proporciona un soporte con un significado similar al de las fachadas, que nos permite:

Separar los distintos tipos de funcionalidades en los controladores: podemos separar, por ejemplo, las funciones que corresponden al administrador, del resto de las funciones, simplemente iniciando el nombre de dicha función con la cadena "admin_".
Separar por urls los distintos [...]

Paginación con ordenación por columna y buscador

Hoy vamos a hablar de cómo introducir en nuestro diseño web la paginación en CakePHP 1.2, introduciéndole un buscador. Utilizaremos una tabla para visualizar los datos, añadiéndole la opción de ordenarla pinchando en las cabeceras.
Utilizaremos para ello el Paginator Helper que viene implementado en esta nueva versión y que, como veremos, hace muchísimo más fácil [...]

Validación en CakePHP 1.2

A pesar de estar todavía en la versión beta, hemos optado por hacer el desarrollo web con la versión 1.2 de CakePHP, entre otras cosas por el potente sistema de validación que posee. Explicaremos cómo realizar la validación de un formulario y los distintos tipos de validación que existen, aunque si no te gustan los [...]

Empezando…

Primer comentario de este blog dedicado al framework de desarrollo de aplicaciones web en el lenguaje php.
El objetivo de este blog es ante todo compartir nuestro conocimiento de cakePhp, con ello intentar apoyar y ayudar a todo el que lo utilice, aportando la experiencia que hemos ido adquiriendo en los últimos meses, en la que [...]