Una aplicación, multiples bases de datos CakePHP

Una aplicación, multiples bases de datos CakePHP

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...

Deja tu comentario

Nombre:

Email (no será publicado)

Website

Comentario

Colabora, añade +1 a mi blog!!