Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Frameworks y PHP orientado a objetos (http://www.forosdelweb.com/f68/)
-   -   3 capas - hilando fino (http://www.forosdelweb.com/f68/3-capas-hilando-fino-478912/)

moron 04/04/2007 18:36

3 capas - hilando fino
 
supongamos la capa de acceso a datos:

Código PHP:

function consultar()
    {
        
$this->consulta=mysql_query($this->query,$this->enlace);
    }

    
//obtener resultados de la consulta
    
public function obtendatos()
    {
        
$this->resultado=mysql_fetch_array($this->consulta);
        return 
$this->resultado;
    } 

para pasar el array de resultado a la capa negocios, la tengo que convertir a objeto en esta capa? si es asi, como se debe hacer?

saludos

B** 04/04/2007 18:56

Re: 3 capas - hilando fino
 
Pues no necesariamente la tienes que pasar a un objeto , pero si asi quisieras... pues defines una clase :
Código PHP:

class ResultDB{
private 
$res;

public function 
setRes($res){
$this->res=$res;

}
public function 
getRes(){
return 
$this->res;


Y ya tienes tu resultado en:
//Dentro de tu funcion obtener datos:
$R= new ResultDB();
$R->setRes($this->resultado);

//Y en tu logica:
$R->getRes();//Aqui tienes tu resultado

moron 04/04/2007 19:17

Re: 3 capas - hilando fino
 
muchas gracias por la respuesta.

Mi intención es modularizar lo mejor posible, y hacer independiente una datos de negocios, cual crees que sería la mejor forma de hacerlo?
quiero que si mañana cambio la bd no tener que cambiar ninguna linea de código fuera de lo que es datos.

enriqueplace 04/04/2007 21:12

Re: 3 capas - hilando fino
 
Conceptos: en un mundo de POO la mínima unidad debería ser un objeto, por lo tanto, tu pregunta no tiene mucho sentido.

B** 04/04/2007 21:20

Re: 3 capas - hilando fino
 
Mira te recomiendo la clase de abstraccion MDB2 , con ella puedes trabajar con tu DB, y en dado caso que vayas a cambiar de DBMS, tan solo tendras que cambiar un metodo en el cual le especificas el type DB.
La puedes encontrar Aqui
Un saludo.


La zona horaria es GMT -6. Ahora son las 07:53.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.