Foros del Web » Programando para Internet » PHP »

ayuda con mvc

Estas en el tema de ayuda con mvc en el foro de PHP en Foros del Web. buenas estoy dandome golpes con esto del modelo y bueno quice implementarcelo a un proyecto pequeño que estoy realizando es algo de un inventario pero ...
  #1 (permalink)  
Antiguo 12/09/2010, 17:00
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
ayuda con mvc

buenas estoy dandome golpes con esto del modelo y bueno quice implementarcelo a un proyecto pequeño que estoy realizando es algo de un inventario pero kic comenzar con el loging de este y bueno empece asi pero no estoy seguro que sea la manera pudieran darme luz?? decirme no estas loco asi no es jaja bueno les dejo lo que segun yo debe de ser
este seria el controlador
Código PHP:
Ver original
  1. <?php
  2. $do="vista";#por defecto muestra la vista
  3. if(isset($_GET['do'])){
  4.     $do=$_GET['do'];#trae el que indica la url
  5. }  
  6. if($do=="vista"){
  7.     require_once("vista.php");
  8. }
  9. elseif($do=="log"){
  10.     require_once("log.php");
  11.     $log=loging::getInstance();
  12.     $valor=$log->cargar($_POST['usuario'],$_POST['pass']);     
  13.     if($valor=="formato_invalido"){
  14.         header("location:vista.php?error_formato=si");
  15.         exit;
  16.     }
  17.     elseif($valor=="usuario_deshabilitado"){
  18.         header("location:vista.php?userdes=si");
  19.         exit;
  20.     }
  21.     elseif($valor=="usuario_incorrecto"){
  22.         header("location:vista.php?userinc=si");
  23.         exit;
  24.     }else{
  25.         header("location:inicio.php");
  26.     }
  27. }
aki ahora la vista
Código PHP:
Ver original
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  5. <title>INVENTARIO</title>
  6. <link rel="stylesheet" href="estilos/index.css" type="text/css" />
  7. <script src="script/index.js" type="text/javascript"></script>
  8. </head>
  9. <body onload="cargar()">
  10. <table width="100%" height="297" border="0" cellpadding="0" cellspacing="0">
  11.   <tr>
  12.     <td colspan="2"><div align="center"><img src="imagenes/inicio_session.gif" /></div></td>
  13.   </tr>
  14.   <tr>
  15.     <td width="50%">&nbsp;</td>
  16.     <td width="50%">&nbsp;</td>
  17.   </tr>
  18.   <tr>
  19.     <td colspan="2">&nbsp;</td>
  20.   </tr>
  21.   <tr>
  22.     <td colspan="2">&nbsp;</td>
  23.   </tr>
  24.   <tr>
  25.     <td colspan="2"><div align="center">
  26.     <form name="form1" action="controlador.php?do=log" method="post" onsubmit="return validar()">
  27.     <table width="314" class="tables">
  28.         <tr>
  29.           <td colspan="2"><div align="center"><img src="imagenes/com-inventario.gif"/></div></td>
  30.           </tr>
  31.         <tr>
  32.           <td>&nbsp;</td>
  33.           <td>&nbsp;</td>
  34.           </tr>
  35.         <tr>
  36.           <td width="152"><div align="right">Usuario:</div></td>
  37.           <td width="150"><label>
  38.             <input name="usuario" type="text" id="usuario" />
  39.           </label></td>
  40.           </tr>
  41.         <tr>
  42.             <td><div align="right">Contrase&ntilde;a:</div></td><td><label>
  43.               <input name="pass" type="password" id="pass" />
  44.             </label></td>          
  45.         </tr>
  46.         <tr>
  47.             <td colspan="2"><div align="center">
  48.               <label>
  49.               <input type="submit" name="Submit" value="Iniciar Sesi&oacute;n" />
  50.               </label>
  51.             </div></td>        
  52.         </tr>
  53.     </table>
  54.     </form>
  55.     </div></td>
  56.   </tr>
  57.  
  58.   <tr>
  59.     <td>&nbsp;</td>
  60.     <td>&nbsp;</td>
  61.   </tr>
  62.   <tr>
  63.     <td>&nbsp;</td>
  64.     <td>&nbsp;</td>
  65.   </tr>
  66. </table>
  67. </body>
  68. </html>

y aca el modelo
Código PHP:
Ver original
  1. <?php
  2. require_once("conexion.php");
  3. class loging{
  4.     private $conectar;
  5.     private $user;
  6.     private $pass;
  7.     private $consulta; 
  8.     private $row;
  9.     private $errorCla;
  10.     private $retorno;
  11.     private static $instancia;
  12.     private function __construct(){
  13.     }
  14.     public static function getInstance()
  15.    {
  16.       if (!self::$instancia instanceof self)
  17.       {
  18.          self::$instancia = new self;
  19.       }
  20.       return self::$instancia;
  21.    }
  22.     public function cargar($user,$pass){   
  23.         if(preg_match("/(^[a-z]{1,20})(?!\s)([\w]{0,20}$)/i",$user)){
  24.             $this->user=strtolower(htmlentities(trim(strip_tags($user))));     
  25.             $this->pass=md5($pass);        
  26.             $this->logeate();
  27.         }
  28.         else{          
  29.             $this->retorno="formato_invalido";         
  30.         }  
  31.         return $this->retorno;                     
  32.     }
  33.     private function logeate(){    
  34.         $this->conect=new conexion();
  35.         $this->conect->select_db("inventario1");
  36.         $this->row=$this->conect->ejecutar_sentencia("SELECT user,pass,nivel,estatus FROM usuario WHERE user='".mysql_real_escape_string($this->user)."' and pass='".$this->pass."' LIMIT 1",true);                        
  37.         if(count($this->row)>0){                   
  38.             if($this->row['estatus']=="habilitado"){
  39.                 $_SESSION['user_auten']="usuario_ingresado";#autentificacion usuario
  40.                 $_SESSION['nivelUser']=$this->row['nivel'];#guardamos el nivel para darle los privilegios
  41.                 $this->conect->ejecutar_sentencia("UPDATE usuario SET errorClave=0 WHERE user='".mysql_real_escape_string($this->user)."'");#le vaciamos el error de clave al usuario              
  42.                 $this->retorno="usuario_autenticado";
  43.             }
  44.             else{
  45.                 $this->retorno="usuario_deshabilitado";
  46.             }  
  47.         }                  
  48.         else{                                                                              
  49.             $this->retorno="usuario_incorrecto";
  50.         }              
  51.     }
  52. }
segun como les dig sera que me pueden dar luz decirme estas bien pero bien mal o es algo parecido pero no asi o algo q me ayude he leido varios articulos pero todavia me cuesta un poco gracias de antemano
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #2 (permalink)  
Antiguo 13/09/2010, 10:51
 
Fecha de Ingreso: septiembre-2010
Ubicación: Buenos Aires
Mensajes: 18
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: ayuda con mvc

Porque no usas un framework???
  #3 (permalink)  
Antiguo 13/09/2010, 10:58
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con mvc

gracias por tu respuesta y bueno no he usado un framework xq primero kiero entender bien este modelo antes de lanzarme con uno ya que estos trabajan con este modelo y segun lo q he leido no esta muy bien lo que hice pero estoy viendo otros tutoriales a ver gracias por la respuesta de todas maneras voy a ver si me meto con algun framework y bueno tanmbien tengo problemas con la documentacion de estos ya que esta en ingles y no soy muy bueno en eso entiendo algo pero no completo saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #4 (permalink)  
Antiguo 13/09/2010, 14:07
 
Fecha de Ingreso: septiembre-2010
Ubicación: Buenos Aires
Mensajes: 18
Antigüedad: 13 años, 7 meses
Puntos: 2
Respuesta: ayuda con mvc

Mira el framework CakePHP tiene toda su docuentacion es español en la misma pagina del proyecto. Asi que no creo tegas problemas. Es un framework muy facil de aprender si ya tienes conocimientos de POO. La comunidad sta bastante activa.
yo creo que no estaria de mas que le heches un vistazo.

Saludos
  #5 (permalink)  
Antiguo 13/09/2010, 14:16
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con mvc

gracias por la respuesta voy a investigar sobre este me habian hablado sobre kumbia la version spirit 1.0 beta1 que como kumbiaphp es desarrollado por latinos la documentacione sta en español pero como esta en beta todavia me quedaban algunas dudas aunque un amigo me dijo que ya habian web que estan programadas bajo esta, cakePHP he escuchado un poco mas pero no sabia si comenzar por ahi lo voy a investigar a ver que tal me va gracias por la informacion
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #6 (permalink)  
Antiguo 13/09/2010, 14:24
Avatar de netovs  
Fecha de Ingreso: enero-2010
Ubicación: Mexico DF
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: ayuda con mvc

Hola, antes de anunciarte X o Y framework he visto tu código y a simple vista me parece bueno y no vi errores de dedo o continuidad al momento de llamar a los objetos y al parecer va bien tu código. ¿tu has detectado alguna falla o algún error en X numero de linea?

En caso de que no sea así permiteme extenderte una felicitación.
__________________
No por que a mi nadie me ayudo a aprender a programar yo no les voy a ayudar ...

Comunicación Web
  #7 (permalink)  
Antiguo 13/09/2010, 14:25
Avatar de netovs  
Fecha de Ingreso: enero-2010
Ubicación: Mexico DF
Mensajes: 150
Antigüedad: 14 años, 3 meses
Puntos: 9
Respuesta: ayuda con mvc

Cita:
Iniciado por netovs Ver Mensaje
Hola, antes de anunciarte X o Y framework.
Cierto usa CodeIgniter
__________________
No por que a mi nadie me ayudo a aprender a programar yo no les voy a ayudar ...

Comunicación Web
  #8 (permalink)  
Antiguo 13/09/2010, 14:31
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con mvc

Cita:
Iniciado por netovs Ver Mensaje
Hola, antes de anunciarte X o Y framework he visto tu código y a simple vista me parece bueno y no vi errores de dedo o continuidad al momento de llamar a los objetos y al parecer va bien tu código. ¿tu has detectado alguna falla o algún error en X numero de linea?

En caso de que no sea así permiteme extenderte una felicitación.
gracias por tu respuesta y comentario
lo que coloque funciona bien es decir hace el loging perfectamente y hace las verificaciones bien lo que no estoy seguro si esta bien es la manera en que estoy aplicando el patron MVC x todos los tutoriales que he estado viendo para aprender bien este patron, esto que ue segun un tutorial que esta muy bueno para aprender como se debe trabajar con este modelo y mas o menos me guie pero viendo otros link no estoy seguro que yo lo alla aplicado correctamente incluso viendo el mismo link jaja bueno voy a investigar el problema que tengo con algun framework es qe me voy a tener que hacer un buen curso de ingles primero ya que toda la documentacion esta en ingles y entiendo algo pero muchas cosas no de echo tengo al pobre traductor de google saturado jaja saludos y gracias por los comentarios
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #9 (permalink)  
Antiguo 14/09/2010, 04:47
atrianaster
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ayuda con mvc

Hola estimado @carlos_belisario

En cuanto a tu código, buena separación entre el modelo, la vista y el controlador.

Si te vas a decidir a usar por uno Framework, mi sugerencia:

Cakephp
Zend Framework
Symfony

Estos son los 3 top php framework según mi criterio y el de muchos expertos.

Aquí puedes ver una clara comparación http://www.bestwebframeworks.com

Si no dominas el English te recomiendo CakePHP, tiene muy buena documentación en español, muy detallado y organizado todo. Este framework utiliza en su core muy buenas practicas de desarrollo de software, como también muchos patrones de diseño como MVC y Active Record.

Debes usar un framework y también puedes continuar estudiando php5 y temas de patrones de diseño y arquitectura, ya que esto te va a servir para entender mejor el funcionamiento de los framework.

Última edición por atrianaster; 14/09/2010 a las 04:55
  #10 (permalink)  
Antiguo 14/09/2010, 12:10
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con mvc

Cita:
Iniciado por atrianaster Ver Mensaje
Hola estimado @carlos_belisario

En cuanto a tu código, buena separación entre el modelo, la vista y el controlador.

Si te vas a decidir a usar por uno Framework, mi sugerencia:

Cakephp
Zend Framework
Symfony

Estos son los 3 top php framework según mi criterio y el de muchos expertos.

Aquí puedes ver una clara comparación http://www.bestwebframeworks.com

Si no dominas el English te recomiendo CakePHP, tiene muy buena documentación en español, muy detallado y organizado todo. Este framework utiliza en su core muy buenas practicas de desarrollo de software, como también muchos patrones de diseño como MVC y Active Record.

Debes usar un framework y también puedes continuar estudiando php5 y temas de patrones de diseño y arquitectura, ya que esto te va a servir para entender mejor el funcionamiento de los framework.
gracias por tu respuesta, no estaba seguro de haber seguido bien tu articulo y haber aplicado bien el modelo MVC, de usar el frameork como me dijo el compañero por la informacion en español baje cakePHP, tambien habia bajado kumbia spirt beta1 que me lo recomendaron porq toda lo documentacion esta en español ya que es un framework latino, pero el tutorial que empece fue el de cakePHP de seguir estudiando PHP5 eso lo estoy haciendo pero quise ponerme a vr un framework para ver si me adentraba mas ya que estos estan en esta version y asi me veo obligado a usar oop y no estructurada a la cual todavia estoy muy acostumbrado ya que no me e kitado el chip sin embargo estoy leyendo bastante para entender la oop y ahora leyendo sobre frameworks gracias por la informacion y por tu comentario sobre el articulo fue de gran ayuda para que comenzara a comprender este modelo saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #11 (permalink)  
Antiguo 14/09/2010, 13:41
atrianaster
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: ayuda con mvc

Gracias a ti y felicidades por tu código, vas por buen camino.

Saludos.
  #12 (permalink)  
Antiguo 19/11/2010, 20:45
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: ayuda con mvc

<saludos>
de nuevo hola a todos, interesantes ya los
acostumbrados post entre carlos_belisario y atrianaster

Adicional a lo que ya han comentado,
les recomiendo CodeIgniter

Bastante bueno me parece,
cake me parece que le falta
hornearse un poco en algunas cosas,
pero es genial también

yo hace ya un rato estuve revisando
varios frameworks, y CodeIgniter, Cake y Symfony
me convencieron bastante
</saludos>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #13 (permalink)  
Antiguo 19/11/2010, 20:52
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: ayuda con mvc

Cita:
Iniciado por mortiprogramador Ver Mensaje
<saludos>
de nuevo hola a todos, interesantes ya los
acostumbrados post entre carlos_belisario y atrianaster

Adicional a lo que ya han comentado,
les recomiendo CodeIgniter

Bastante bueno me parece,
cake me parece que le falta
hornearse un poco en algunas cosas,
pero es genial también

yo hace ya un rato estuve revisando
varios frameworks, y CodeIgniter, Cake y Symfony
me convencieron bastante
</saludos>
buenas mortiprogramador gracias por lo de interesantes post jaja por cierto de tu comentario sobre cakePHP que detalle le vez?? y bueno e revisado varios lo que pasa es que no soy muy bueno con el ingles y la mayoria de estos tienen en este lenguaje su documentacion cake a pesar que la documentacion oficial esta en ingles la pagina tiene el manual traducido a español que te aclara mucho y tiene foros en español tambien saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #14 (permalink)  
Antiguo 19/11/2010, 23:18
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: ayuda con mvc

Cita:
Iniciado por carlos_belisario Ver Mensaje
buenas mortiprogramador gracias por lo de interesantes post jaja por cierto de tu comentario sobre cakePHP que detalle le vez?? y bueno e revisado varios lo que pasa es que no soy muy bueno con el ingles y la mayoria de estos tienen en este lenguaje su documentacion cake a pesar que la documentacion oficial esta en ingles la pagina tiene el manual traducido a español que te aclara mucho y tiene foros en español tambien saludos
bueno, más que todo es en la parte de la creación
de los modelos, y tiene algunas otras ya en la parte
debug y eso (para el modo de pruebas)

sin embargo, pues para que revises el funcionamiento
te sirve, y pues en cuanto a lo del ingles, estan los
traductores (que es cierto no traducen totalmente correcto, pero pues
algo ayuda el asunto) pues yo me tome la molestia de leer toda la
documentación de cake en su momento, y no estaba toda traducida por un lado,
y por el otro, algunas traducciones no eran
consistentes con el original
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com

Etiquetas: mvc
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




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