Una aplicación, multiples bases de datos CakePHP
- julio 28, 2009
- 0 comentario/s
- 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 de cakephp
Posts Relacionados:
- 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...
- cakephp codificacion en utf8 Cuando tenéis una aplicación en cakephp y todo está en utf8 es muy importante especificar en la configuración de base de datos que se conecte en utf8 porque en cakephp...
- 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...
- Cakephp aumentar el tiempo de session timeout Problema, tus usuarios, los administradores o editores que tienen que hacer login a una sección de la web y después de un tiempo sin actividad, cakephp los desloguea automáticamente si...
- 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,...

Te ha ayudado el artículo? Colabora!
RSS Feed