Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

framework y base de datos

Estas en el tema de framework y base de datos en el foro de Frameworks y PHP orientado a objetos en Foros del Web. hola a tod@s! estoy creando una aplicación que permite las operaciones tipicas de inserción, modificación, borrado t consulta. y me inreresaria hacerlo utilizando el patrón ...
  #1 (permalink)  
Antiguo 13/06/2005, 09:18
 
Fecha de Ingreso: mayo-2005
Mensajes: 3
Antigüedad: 19 años
Puntos: 0
framework y base de datos

hola a tod@s!

estoy creando una aplicación que permite las operaciones tipicas de inserción, modificación, borrado t consulta.

y me inreresaria hacerlo utilizando el patrón MVC2.

pero no he utilizado nunca un framework y no tengo ni idea de como funciona.

¿alguien me puede decir donde puedo encontrar algún manual o tutorial que lo explique claramente? quiero conseguir que una vez creadas estas 3 clases, indicando el nombre de la tabla, y si es necesario el de los campos, realice las opciones DML.

gracias por vuestra ayuda.


Sergenay.
  #2 (permalink)  
Antiguo 13/06/2005, 14:22
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Creo que te va a servir mucho leer este tema, aqui en Forosdelweb:

http://www.forosdelweb.com/showthrea...ight=framework
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #3 (permalink)  
Antiguo 14/06/2005, 08:56
Avatar de Tayron Alí  
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 19 años
Puntos: 0
hola webstudio,

actualmente me encuentro desarrollando algo que pudieras llamar un mvc framework, pero desde un aspecto un poco diferente, debido a que mi mercado local exige mucho trabajo en cuanto al diseño de sus sites, me visto obligado a crear un framework de conexión a bases de datos, y un controller que según una variable acción lo que hace es mandar a buscar una vista que utiliza una clase x y genera un resultado en otra vista.

un ejemplo mas claro es el siguiente: mi site carga un index.php que no es una vista real de mi página principal en el instancio mi controler que hace uso de otra instancia de conexión a base de datos y que verifican que existe o no una sesión, si es asi redirecciona a la página marcada en el href del anchor o manda a llamar la pagina del portal en donde hace referencia al login, todo esto es un tanto conceptual y probablemente no ayude a tu problema en particular pero es algo que en estos dias he ido trabajando, ver de que manera podes mapear todo tu sitio y tus acciones en un controler de forma similar a como lo hace java, claro sin utilizar xml.

saludos...

en mi próxima intervención podré mostrarles algún código apara explicarme mejor.
  #4 (permalink)  
Antiguo 23/06/2005, 06:43
 
Fecha de Ingreso: junio-2005
Mensajes: 2
Antigüedad: 18 años, 10 meses
Puntos: 0
Hola a Todos.
Tayron Alí, me gustaria ver lo que vienes desarrollando, es decir algunos ejemplos y encontrar la forma de iniciarme en el uso de CMV y del manejo de la POO en PHP.
Aguardo con ansias ver lo que has echo.
Trabajo desde hace algun tiempo con PHP pero de manera lineal o estructurada sin el uso de clases. Pero tengo muchisimas ganas de aprender a hacerlo de manera profesional.

Gracias a todos y excelentes los foros, especialmente esta sección.

ADMV
  #5 (permalink)  
Antiguo 18/07/2005, 05:12
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 19 años, 7 meses
Puntos: 2
me pueden decir que significa MVC2???? y como es eso de trabajar con framework???

en que consiste todo eso???
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
  #6 (permalink)  
Antiguo 03/08/2005, 08:14
Avatar de Tayron Alí  
Fecha de Ingreso: mayo-2005
Mensajes: 15
Antigüedad: 19 años
Puntos: 0
Que es MVC y un FrameWork?

MVC, es Model View Controller, es un modelo de desarrollo que separa el desarrollo normal de una aplicación, que viene servidor de datos, servidor de aplicaciones, logica de negocio de la aplicación y la logica de diseño de la misma, para ser mas especifico abstrae lo que es servidor de datos, logica del diseño y logica del negocio en uno, al final queda solamente como logica del negocio, este es tu controller, lo separa de las vista o las páginas en donde publicas sus resultados, este es tu view y al final la forma en como van a interactuar ellos es tu model.

Dicho en castellano, el controller es el conjunto de instrucciones que definen como es el comportamiento de tu aplicación, en donde y cuando se ejecuta una instrucción, el view son todas aquellas páginas en las cuales se publica el resultado de estas instrucciones y el model es la forma como se relacionan las vistas y las acciones con el resto de componentes de tu aplicación. Para lograr esto hacemos uso de objetos que pueden ser utilizados en multiples ocaciones, Esto es un framework, es un esquema repetitivo que es utilizado para no codificar de mas en las paginas web. Ejemplo:
<?php
/*requerir la clase conxión de la que heredaremos ConexionMySQL*/
/*Clase ConexionMySQL*/
class ConexionMySQL {
var $servidor="localhost";
var $usuario="root";
var $clave="";
var $base_datos="portal";
var $link;

/*Constructor*/
function ConexionMySQL()
{
$this->link=$this->connect();
mysql_select_db($this->base_datos,$this->link);
}

/*Función conectar a la base de datos*/
function connect()
{
return mysql_connect($this->servidor,$this->usuario,$this->clave);
}

/*Función cerrar conexión*/
function close()
{
return mysql_close($this->link);
}

/*Función consulta*/
function query($query)
{
return mysql_query($query,$this->link);
}

/*Función crear arreglo de registros*/
function fetch_array($resultado)
{
return mysql_fetch_array($resultado);
}

/*Función liberar resultados*/
function free_result($resultado)
{
return mysql_free_result($resultado);
}

}
?>
fijate en esta clase conexion a mysql, ahorita esta orientada a mysql pero si quisiera conectarme a Oracle, por ejemplo, nada mas tengo que modificar esta clase y los cambios se verian inmediatamente en loda la aplicación en donde yo interactue con la base de datos.
Reviza estas otras clases:
<?php
//Crear objetos para separa el código php y html
class usuario{
var $nombre;
var $apellido;
var $email;
var $user;
var $password;
var $password_confirma;
var $coinside_password;
var $vacio;
var $tipo;

function usuario()
{
if($_POST)
{
$this->nombre=(!get_magic_quotes_gpc()) ? addslashes($_POST['nombre']) : $_POST['nombre'];
$this->apellido=(!get_magic_quotes_gpc()) ? addslashes($_POST['apellido']) : $_POST['apellido'];
$this->email=(!get_magic_quotes_gpc()) ? addslashes($_POST['email']) : $_POST['email'];
$this->user=(!get_magic_quotes_gpc()) ? addslashes($_POST['usuario']) : $_POST['usuario'];
$this->password=(!get_magic_quotes_gpc()) ? addslashes($_POST['password']) : $_POST['password'];
$this->coinside_password=(!get_magic_quotes_gpc()) ? addslashes($_POST['passwordConfirma']) : $_POST['passwordConfirma'];
if(strcmp($this->password,$this->coinside_password)==0)
{
$this->password_confirma=$password;
$this->coinside_password=0;
}else{
$this->coinside_password=1;
}
if(isset($_POST['tipo'])){
$this->tipo=(!get_magic_quotes_gpc()) ? addslashes($_POST['tipo']) : $_POST['tipo'];
}else{
$this->tipo='user';
}
$this->validar();
}else{
$this->vacio=1;
}

}

function putTipo()
{
return $this->tipo;
}

function putNombre()
{
return $this->nombre;
}

function putApellido()
{
return $this->apellido;
}

function putEmail()
{
return $this->email;
}

function putUser()
{
return $this->user;
}

function putPassword()
{
return $this->password;
}

function retornaSqlInsertar()
{
$query='INSERT INTO USERS (NOMBRE,APELLIDO,EMAIL,FECHA_INGRESO,'.
'USER,PASSW,USERID_ING,FECHA_ING,USERID_ACT,FECHA_ ACT,TIPO_USER) '.
'VALUES(';
$campo='"'.$this->putNombre().'"';
$query=$query . $campo . ',';
$campo='"'.$this->putApellido().'"';
$query=$query . $campo . ',';
$campo='"'.$this->putEmail().'"';
$query=$query . $campo . ',';
$campo="curdate()";
$query=$query . $campo . ',';
$campo='"'.$this->putUser().'"';
$query=$query . $campo . ',';
$campo='"'.$this->putPassword().'"';
$query=$query . $campo . ',';
$campo='"'.$this->putUser().'"';
$query=$query . $campo . ',';
$campo="curdate()";
$query=$query . $campo . ',';
$campo='"'.$this->putUser().'"';
$query=$query . $campo . ',';
$campo="curdate()";
$query=$query . $campo . ',';
$campo='"'.$this->tipo .'"';
if($this->campo==null)
{
$campo='user';
}
$query=$query . $campo . ')';
return $query;

}

function retornaSQLEditar($predicado)
{
$query='UPDATE USERS SET ';
$campo='"'.$this->putNombre().'"';
$query=$query.'nombre='.$campo.',';
$campo='"'.$this->putApellido().'"';
$query=$query.'apellido='.$campo.',';
$campo='"'.$this->putEmail().'"';
$query=$query.'email='.$campo.',';
$campo='"'.$this->putUser().'"';
$query=$query.'user='.$campo.',';
$campo='"'.$this->putPassword().'"';
$query=$query.'passw='.$campo.',';
$campo='"'.$this->putUser().'"';
$query=$query.'userid_act='.$campo.',';
$campo="curdate()";
$query=$query.'fecha_act='.$campo.',';
$campo='"'.$this->putTipo().'"';
$query=$query.'tipo_user='.$campo.'';
if(strcmp($predicado,'')!=0)
{
$query = $query . ' where '. $predicado;
}
return $query;
}

function validar()
{
if((strcmp($this->nombre,'')==0) || (strcmp($this->apellido,'')==0) || (strcmp($this->user,'')==0) || (strcmp($this->password,'')==0)){
$this->vacio=1;
}

}
}

//clase del objeto usuario en la base de datos para operaciones de consulta
class usuarioBD extends usuario{

var $query;

function usuarioBD(){}

function retornarSQLSelect($predicado)
{
$this->query='SELECT * FROM USERS';
if(strcmp($predicado,'')!=0)
{
$this->query = $this->query . ' where '. $predicado;
}else{
$this->query = $this->query . ' where 1';
}
return $this->query;
}

function retornarSQLEliminar($predicado)
{
$this->query='DELETE FROM USERS';
if(strcmp($predicado,'')!=0)
{
$this->query = $this->query . ' where '. $predicado;
}else{
$this->query = $this->query . ' where 1';
}
return $this->query;
}
}
?>
El objetivo de la clase usuario es contener todos los valores enviados desde un formulario y generar una validación, esta clase es un modelo de mi tabla usuarios, y genera el sql necesario para insertar y actualizar, verás que hay otra clase que se extiende de usuarios, en ella ya no es necesario estar capturando un post esta sirve para listar el contenido de la tabla usuarios y para eliminar registros.

Si deseas implementar un módulo de administración de usuarios estas clases te serviran de mucho, bueno yo las concebi de esta manera pero si alguien puede mejorar la lógica, adelante y posteen los cambios.
  #7 (permalink)  
Antiguo 03/08/2005, 17:41
Avatar de JALF  
Fecha de Ingreso: septiembre-2004
Ubicación: Cali - Colombia
Mensajes: 634
Antigüedad: 19 años, 7 meses
Puntos: 2
De acuerdo

gracias ahora si entendi!!!!
__________________
Ubuntu User # 15554
http://dubaiphp.wordpress.com/ -Mi vida de desarrollo, juegos y algo más en un Blog-
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 23:59.