Introducción a desarrollo web con PHP y Yii

1

Conceptos claves de G y G2: Desarrollo Ágil PHP

2

Desarrollo web con Yii: Framework potente y bien documentado

3

Arquitectura MVC: Modelo, Vista y Controlador en Detalle

4

Instalación y configuración de Yii2 con Composer y MySQL

5

Configuración Básica de Archivos en Proyectos Yii2

6

Configuración de Entorno en Yii2: Uso de Variables en PHP

Quiz: Introducción a desarrollo web con PHP y Yii

Esquema de la aplicación

7

Relaciones de datos en Yii2: Crear bibliotecas personales

8

Creación de Bases de Datos SQL desde Cero

9

Creación y Gestión de Bases de Datos MySQL

Quiz: Esquema de la aplicación

Modelos, vistas y controladores

10

Comandos en Yii: Creación y Ejecución desde Terminal

11

Creación y uso de modelos en PHP con Yii

12

Uso de ActiveRecord en Yii para Bases de Datos

13

Creación de Modelos en el Framework Yii

14

Relaciones en Yii: Conecta modelos Book y Author fácilmente

15

Relaciones entre Modelos en Yii: Has Many y Getters

16

Desarrollo de Controladores Web en Yii Framework

17

Redirección y Mensajes Flash en Yii2

18

URL Bonitas en PHP: Configuración y Manejo Avanzado

19

Smarty: Plantillas PHP eficaces en aplicaciones web Yii

20

Uso de Smarty en Yii2 para Plantillas Eficientes

Quiz: Modelos, vistas y controladores

Manejo de usuarios con Yii2

21

Creación de Tabla Usuarios con Funciones de Autenticación Segura

22

Ofuscación de contraseñas en Yii con MD5

23

Autenticación de Usuarios en Yii2: Configuración y Personalización

24

Validación de Datos de Usuario en Framework Yii

25

Creación de Formulario con Smarty y ActiveForm en PHP

26

Validación de Datos en Modelos con Yii2

27

Validadores de Datos en PHP: Core Validators y Filtros

Quiz: Manejo de usuarios con Yii2

Enlaces, navegación y tablas intermedias

28

Creación de Libros y Validación en PHP

29

Creación y Gestión de Bases de Datos en PHP: Casos Prácticos

30

SQL para Principiantes: Consultas, Joins y Subconsultas

31

Calificación de Libros en PHP: Creación y Validación de Modelos

32

Promedio y Análisis de Calificaciones de Libros y Usuarios

33

Relaciones y Consultas Complejas en Bases de Datos

34

Programación Básica con Framework G para Creación de Bibliotecas

Quiz: Enlaces, navegación y tablas intermedias

Despliegue y cierre del proyecto

35

Deploy de una aplicación PHP a Heroku paso a paso

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Autenticación de Usuarios en Yii2: Configuración y Personalización

23/35
Recursos

¿Cómo modificar la clase User en Yii?

La clase User que viene con la instalación de Yii es crucial, pero a menudo necesitamos hacer ajustes para personalizar su comportamiento. Las modificaciones que realices en esta clase afectarán, entre otras cosas, a la autenticación de usuarios, permitiendo personalizar el modo en que los usuarios se loguean en la aplicación.

  1. Username y Password: En este ejemplo se ilustró cómo establecer un Username y Password básicos para loguear. Siendo el Username "Beko" y el Password "Patito123".

  2. Modelo de usuario: Es importante que cualquier referencia desde este modelo, que verifica contraseñas o implementa logins de terceros, funcione adecuadamente. Al modificar el modelo, conseguimos un sistema de login funcional sin realizar pasos adicionales.

  3. Utilización de LoginForm: Aunque el LoginForm no es un ActiveRecord, permite guardar datos esencialmente en el momento del login, como Username, Password y la opción Remember Me. Este último determina si el mismo usuario permanece logueado.

¿Cómo funciona el proceso de login en Yii?

El proceso de login es la columna vertebral de la autenticación en aplicaciones. Aquí te explicamos cómo se gestiona este proceso en Yii usando el SiteController y el LoginForm.

  1. Controlador de sitio: El login se orquesta desde el SiteController usando ActionLogin, el cual crea un LoginForm para trasladar la información desde una vista al controlador.

  2. Validación de contraseñas: En la lógica de negocio del LoginForm se valida la contraseña usando el método ValidatePassword. Si hay un error, el sistema responderá con mensajes aclaratorios para el usuario.

  3. Manejo de sesiones: Una vez logueado, el usuario está presente en la sesión y la app, lo que permite una integración continua en la experiencia del usuario.

¿Cómo implementar cambios en las vistas?

Las vistas en Yii se gestionan a través de la carpeta views. Cambiar cómo se presenta la información al usuario es sencillo y potente.

  1. Cambio de vistas: Desde el SiteController, podemos determinar cuál vista renderear. Por ejemplo, se puede optar por usar index.tpl en vez de index.php, permitiendo significativos cambios visuales con solo cambiar una referencia.

  2. Smarty y variables del sistema: Usar Smarty permite evaluar condiciones y mostrar contenido dinámico. Por ejemplo, se puede implementar if para verificar si un usuario es invitado o ya está logueado, personalizando así los saludos mostrados al usuario.

    if ($guest) {
        echo "Hola, invitado.";
    } else {
        echo "Hola, " . $username;
    }
    
  3. Contadores y datos en vistas: La integración de contadores, como el número total de libros en un sistema, aunque se despliega en la vista, debe ser manejada por el modelo o controlador, asegurando la lógica se mantiene limpia.

    // En el controlador
    $book_count = Book::find()->count();
    
    // En la vista
    echo "Hay $book_count libros en el sistema.";
    

La habilidad para modificar modelos, controladores y vistas en conjunto te permite personalizar cómo los usuarios interactúan con tu aplicación. Al aprovechar estas herramientas, podrás ofrecer experiencias adaptadas y eficientes. ¡Continúa explorando las posibilidades de Yii para crear aplicaciones aún más robustas!

Aportes 1

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Esto modificamos en Site.Controller: ![](https://static.platzi.com/media/user_upload/image-47b521d4-8bbf-43cb-9b75-dc2db1d12245.jpg) y este es el archivo index.tpl: ![](https://static.platzi.com/media/user_upload/image-c81216a7-8cb2-4f97-9cc6-550b10be6335.jpg)