Anuncios

Bienvenidos sean a este post, hoy veremos como manejar a nuestros usuarios desde la pagina.

Anuncios
Anuncios

Si bien hasta ahora tenemos una pagina que nos permite ingresar con un usuario, tener un dashboard para trabajar y tambien podemos reestablecer su contraseña, una posibilidad que debemos tener es la posibilidad de saber cuales son todos los usuarios del sitio, asi como poder eliminar a los que no sean necesarios o crear nuevos para que puedan acceder, por esta razon vamos a implementar al concepto de CRUD para el sitio, aunque esto ya lo hemos hecho pero esta vez para los usuarios, lo que haremos sera agregar las siguientes acciones:

  • Creacion de usuarios
  • Mostrar los usuarios existentes
  • Modificar a los usuarios existentes
  • Eliminar usuarios no necesarios
Anuncios

Para comenzar con esto vamos a nuestro archivo Usuario.php en el directorio app/Modelos y agregaremos el siguiente metodo:

        public function get_usuarios()
        {
                return $this->db->select("* from usuarios order by usuario");
        }
Anuncios

Este metodo nos devolvera todos los datos de los usuarios y los ordenara por el usuario, pasemos a agregar el siguiente metodo:

        public function get_usuario($id)
        {
                $datos = $this->db->select("* from usuarios " .
                                "where id = :id", [':id' => $id]);
                return (isset($datos[0]) ? $datos[0] : null);
        }
Anuncios

Con este metodo pasaremos el id del usuario y obtendremos todos los datos del mismo, pasemos a agregar el siguiente metodo:

        public function get_username($usuario)
        {
                $datos=$this->db->select("usuario from usuarios " .
                                "where usuario = :usuario",
                                [':usuario' => $usuario]);
                return (isset($data[0]->usuario) ? $datos[0]->usuario : null);
        }
Anuncios

Este metodo nos permite obtener el usuario del usuario informado, mas adelante entenderemos el porque de esta funcion, con estos tres nuevos metodos veamos como quedo nuestro modelo hasta el momento:

Usuario.php

<?php

namespace App\Modelos;

use System\ModeloBase;

class Usuario extends ModeloBase
{
        public function get_hash($usuario)
        {
                $datos = $this->db->select('clave from usuarios ' .
                        'where usuario = :usuario', [':usuario' => $usuario]);
                return (isset($datos[0]->clave) ? $datos[0]->clave : null);
        }

        public function get_data($usuario)
        {
                $datos = $this->db->select('* from usuarios ' .
                        'where usuario = :usuario', [':usuario' => $usuario]);
                return (isset($datos[0]) ? $datos[0] : null);
        }

        public function get_email($email)
        {
                $datos = $this->db->select('email from usuarios ' .
                        'where email= :email',[':email' => $email]);
                return (isset($datos[0]->email) ? $datos[0]->email : null);
        }

        public function get_token($token)
        {
                $datos = $this->db->select('id from usuarios ' .
                        'where token_reset = :token_reset',
                        [':token_reset' => $token]);
                return (isset($datos[0]) ? $datos[0] : null);
        }

        public function get_usuarios()
        {
                return $this->db->select("* from usuarios order by usuario");
        }

        public function get_usuario($id)
        {
                $datos = $this->db->select("* from usuarios " .
                                "where id = :id", [':id' => $id]);
                return (isset($datos[0]) ? $datos[0] : null);
        }

        public function get_username($usuario)
        {
                $datos=$this->db->select("usuario from usuarios " .
                                "where usuario = :usuario",
                                [':usuario' => $usuario]);
                return (isset($data[0]->usuario) ? $datos[0]->usuario : null);
        }

        public function insert($datos)
        {
                $this->db->insert('usuarios', $datos);
        }

        public function update($datos, $where)
        {
                $this->db->update('usuarios', $datos, $where);
        }

        public function delete($where)
        {
                $this->db->delete('usuarios', $where);
        }
}
Anuncios

Y para ir finalizando con el post de hoy vamos a crear el controlador de los usuarios, para ello iremos al directorio app/Controllers y crearemos un nuevo archivo llamado usuarios.php, una vez creado agregaremos el siguiente codigo:

usuarios.php

<?php

namespace App\Controllers;

use System\ControladorBase;
use App\Helpers\Sesion;
use App\Helpers\Url;
use App\Modelos\Usuario;

class Usuarios extends ControladorBase
{

}
Anuncios

Como siempre estableceremos primero el namespace de nuestra clase, lo siguiente sera importar las clases que necesaitaremos en neustro codigo y por ultimo haremos que esta clase sea heredera de ControladorBase, en el proximo post agregaremos los metodos y propiedades de nuestra clase.

Anuncios

En resumen, hoy hemos establecido nuestro siguiente paso en el proyecto, hemos mencionado que haremos, tambien hemos agregado algunos metodos en la clase admin para poder obtener informacion de los usuarios, asi como hemos creado la clase que usaremos como controladora y en el proximo post la mejoraremos, espero les haya gustado sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.

Anuncios

Donación

Es para mantenimento del sitio, gracias!

$1.50