Como puedo mejorar el codigo

Publicado en 'Programación' por walter1719, 1 Set 2009.





  1. walter1719

    walter1719 Miembro nuevo

    Registro:
    23 Dic 2008
    Mensajes:
    23
    Likes:
    0




    SOY ALGO NUEVO EN PHP
    COMO SE PUEDE MEJORAR ESTE CODIGO
    PARA HACERLO MAS EFICIENTE Y MENOS ENGORROSO

    <?php
    require_once '../ds/MyPDO.php';
    class usuarioDAO
    {
    public function modificarDatos ($codUsuario)
    {
    $db = null;
    try
    {
    $db = MyPDO :: getInstancia();
    $query = "select * from usuario where codUsuario = ?";
    $stm = $db->prepare ( $query );
    $stm->execute ( array ( $codUsuario ) );
    $lista = $stm->fetchAll();
    $stm = null;
    return $rec [0];
    }
    catch(Exception $e)
    {
    }
    }
    public function listaCategoria ($codUsuario)
    {
    $dao = null;
    try
    {
    $db = MyPDO :: getInstancia();
    if( isset ($codUsuario) )
    {
    $query = "select * from categoriausuario";
    $stm = $db->prepare ( $query );
    $stm->execute();
    $lista = $stm->fetchAll();
    $stm = null;
    }
    else
    {
    $query = "select * from categoriausuario where codCategoria = ?";
    $stm = $db->prepare ( $query );
    $stm->execute ( array ($lista["codCategoria"] ) );
    $lista2 = $stm->fetchAll();
    $stm = null;
    }
    return $lista[0];
    }
    catch(Exception $e)
    {
    throw $e;
    }
    }
    public function listarUsuario ()
    {
    $dao = null;
    try
    {
    $db = MyPDO :: getInstancia ();
    $query = "select * from usuario";
    $stm = $db->prepare ( $query );
    $stm->execute();
    $lista = $stm->fetchAll();
    $stm = null;
    return $lista[0];
    }
    catch(Exception $e)
    {
    throw $e;
    }
    }
    public function eliminarUsuario ( $rec )
    {
    $dao = null;
    try
    {
    $db = MyPDO :: getInstancia ();
    $query = "select * from usuario where codUsuario = ?";
    $stm = $db->prepare ( $query );
    $stm->execute ( array ( $rec ["codUsuario"] ) );
    $lista = $stm->fetchAll();
    $stm = null;
    if( $lista ["fltEstado"] != 1 )
    {
    throw new Exception ("Este usuario ya va sido deshabilitado");
    }
    else
    {
    $query = "update usuario set fltEstado = 0 where codUsuario = ?";
    $stm = $db->papare ( $query );
    $stm->execute( array( $rec ["codUsario"] ) );
    //Confirmar
    $db->commint;
    }
    }
    catch(Exception $e)
    {
    $db->rollback();
    throw $e;
    }
    }
    public function modificarUsuario ( $rec )
    {
    $dao = null;
    try
    {
    $db = MyPDO::getInstancia();
    $query = "select * from usuario where codUsuario = ?";
    $stm = $db->prepare ( $query );
    $stm->execute ( array ( $rec ["codUsuario"] ) );
    $lista = $stm->fetchAll();
    $stm = null;
    if ( $lista ["fltEstado"]!= 1 )
    {
    throw new Exception ( "Usuario deshabilitado" );
    }
    else
    {
    $query = "update usuario set txtClave = ? where codUsuario = ?";
    $stm = $db->prepare ( $query );
    $stm->bindValue (1,$rec ["txtClave"]);
    $stm->bindValue (2,$rec ["codUsuario"]);
    $stm->execute();
    //Confirmar
    $db->commint;
    }
    }
    catch(Exception $e)
    {
    $db->rollback();
    throw $e;
    }
    }
    public function validarUsuario ( $codUsuario , $txtUsuario )
    {
    $db = null ;
    try
    {
    $db = MyPDO :: getInstancia();
    $query = " select * from usuario where codUsuario = ? ";
    $stm = $db->prepare ( $query );
    $stm->execute ( array ( $codUsuario ) );
    $lista = $stm->fetchAll();
    $stm = null;
    if ( count ( $lista ) == 1 )
    {
    throw new Exception ( "El usuario $usuario ya existe" );
    }
    $lista = null;
    $query = " select * from usuario where txtUsuario = ?";
    $stm = $db->prepare ( $query );
    $stm->execute ( array ( $txtUsuario ));
    $lista = $stm->fetchAll();
    $stm = null;
    return $lista[0];
    }
    catch(Exception $e)
    {
    throw $e;
    }
    }
    public function agregarUsuario ( $rec )
    {
    $db = null;
    try
    {
    $db = MyPDO :: getInstancia ();
    $db->setAttribute(PDO::ATTR_AUTOCOMMIT,FALSE);
    $db->beginTransaccion;
    //Consulta datos del usuario
    $query = "insert into usuario
    (codUsuario,CodCategoria,txtUsuario,txtClave,fltEstado) values
    (?,?,?,?,1)";
    $stm = $db->prepare ( $query );
    $stm->bindValue (1,$rec ["codUsuario"]);
    $stm->bindValue (2,$rec ["CodCategoria"]);
    $stm->bindValue (3,$rec ["txtUsuario"]);
    $stm->bindValue (4,$rec ["txtClave"]);
    $stm->execute();
    //Confirmar
    $db->commit;
    }
    catch(Exception $e)
    {
    $db->rollback();
    throw $e;
    }
    }
    }
    ?>
     


  2. sellassie

    sellassie Miembro nuevo

    Registro:
    10 Mar 2009
    Mensajes:
    10
    Likes:
    0
    necesariamente lo tienes que hacer con ese modelo ????
    (parece que quisieras hacer un vista controlador)
    porque lo que estas intentando hacer (listar agregar mostrar y demas) se pueden hacer con clases ,sentencias mysql de conexion y query mas simples y con unos cuantos ciclos while
     
    Última edición: 2 Set 2009
  3. walter1719

    walter1719 Miembro nuevo

    Registro:
    23 Dic 2008
    Mensajes:
    23
    Likes:
    0
    Hola si es un modelo vista controlador
    con uso de daos
    me podrias dar un ejemplo para darme un idea
    y q librerias serian las mas apropiadas a usar
    gracias de antemano