Una aplicación, multiples bases de datos CakePHP
- julio 28, 2009
- No hay comentarios
- CakePHP Tags: base de datos
Tengo que lanzar un web para varios países y aprovecharé la potencia de CakePHP para realizar una sola plataforma con varias bases de datos. Cada base de datos almacenará el contenido local de cada web.
Lo que he hecho es en /(app)/config/bootstrap.php incluir mi código de configuración personalizado. Ver funcionalidad del boostrap
Para determinar y estandarizar la url que me llega realizo la siguiente comprobación
$datos_dominio = explode(".",$_SERVER['HTTP_HOST']);
if (in_array("www",$datos_dominio))
{
$dominio ='';
}
else
{
$dominio = 'www.';
}
for($i=0;$i < count($datos_dominio);$i++)
{
if($i == 0)
{
$dominio .= $datos_dominio[$i];
}
else
{
$dominio .= '.'.$datos_dominio[$i];
}
}
?>
Con el dominio que he obtenido lo paso por un switch case y la variable final con el valor de la base de datos la guardo en una constante que usaré mas adelante.
switch ($dominio)
{
case 'www.cake.loc':
$bbdd = 'default';
break;
case 'www.cake.loc.uk':
$bbdd = 'default_uk';
break;
case 'www.cake.loc.mx':
$bbdd = 'default_mx';
break;
default: $bbdd = 'default';
}
define('BBDD',$bbdd);
Posteriormente en mi modelo seleccionaré la base de datos que se ha guardado automaticamente en la constante BBDD
Ejemplo de mi /(app)/models/contenido.php
class Contenido extends AppModel
{
var $name = 'mos_content'; // nombre de la tabla que estoy usando
var $useDbConfig = BBDD; // conexión a la base de datos que he obtenido automaticamente
}Tags de búsquedas:
cakephp ejemplos, ejemplos cakephp
Posts Relacionados:
- obtener el nombre del dominio con javascript Pues algo que acabo de hacer y no sabía. Sacar el nombre del dominio de la web en la que estás. Mediante JavaScript podemos obtener la información del dominio de...
- Esquema de una peticion en CakePHP y funcionamiento general del Framework Me he encontrando en la web oficial de CakePHP este genial esquema que representa una petición estandar en el sistema de este Framework y el funcionamiento interno. Haz click en...
- usando memcached con cakephp Memcached es un sistema distribuido de cache de objetos está especialmente indicado para webs dinámicas con gran carga a la base de datos. Memcache es una cache en memoria ram,...
- subir ficheros con swfupload componente cakephp Existe una herramienta genial para subir ficheros a un servidor con PHP, Javascript y un flash, se llama SwfUpload y muchos ya la conocerán, pero integrarla en CakePHP ha sido...
- CakePHP Rocks my world!! Después de analizar y haber probado dos de los grandes Frameworks de trabajo y uno que puede convertirse en una genial herramienta en unos años, he decidido dar el siguiente...

RSS Feed