Advertisement
  1. Code
  2. Yii

Cómo programar con Yii2: Uso de plantilla avanzada de la aplicación

by
Read Time:8 minsLanguages:
This post is part of a series called How to Program With Yii2.
How to Program With Yii2: AuthClient Integration With Twitter & Google
How to Program With Yii2: Google Authentication

Spanish (Español) translation by Elías Nicolás (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Si está preguntando, "¿Qué es Yii?" Echa un vistazo a Introducción al Framework Yii, que revisa los beneficios de Yii e incluye una visión general de Yii 2.0.

En esta serie de programación con Yii2, estoy guiando a los lectores en el uso de la Yii2 Framework de PHP. A medida que empiece a utilizar Yii para el desarrollo real, es posible que desee iniciar su siguiente proyecto con la plantilla avanzada de la aplicación . Entre otras cosas, ofrece funciones integradas de administración de usuarios, así como dos aplicaciones, una para el usuario y la otra, un back-end administrativo.

En este tutorial, te presentaré a la plantilla avanzada de Yii2 y te guiará a través de la configuración básica y el uso. Mientras que en Programación con Yii2: Integración de registro de usuario exploró la implementación de la gestión de usuarios en la parte superior de la plantilla básica con la extensión de usuario Yii2, este tutorial lanzará un nuevo repositorio con la plantilla avanzada en lugar de continuar los ejemplos en nuestra base Yii código base.

Antes de empezar, por favor recuerde, intento participar en las discusiones de los comentarios. Si tiene una pregunta o sugerencia de un tema, por favor, envíe un comentario o póngase en contacto conmigo en Twitter @reifman. También puede enviarme un correo electrónico directamente.

Si notaste que hubo un retraso en esta serie, es porque recién he vuelto de una cirugía cerebral. Gracias por tu paciencia y apoyo—Es bueno estar escribiendo de nuevo regularmente y estoy deseando continuar con la cobertura de Yii2.

Cómo es diferente la plantilla avanzada

La razón más útil para migrar a la plantilla avanzada es la implementación de las funciones de administración de usuarios, como las de inicio de sesión, registro, cierre de sesión y restablecimiento de contraseñas.

La plantilla avanzada también proporciona varios árboles de acceso para una aplicación web más grande. Cuenta con una aplicación web front-end y back-end para usuarios finales y administradores. Sin embargo, esto también podría ampliarse—por ejemplo, para moderadores o una API especial, aunque hay otras maneras de integrar estas características en una aplicación.

Aquí hay un gráfico que muestra las principales diferencias entre la básica Yii y la instalación avanzada:

Yii2 Advanced Template Comparison with Basic TemplateYii2 Advanced Template Comparison with Basic TemplateYii2 Advanced Template Comparison with Basic Template

En mis últimos tutoriales sobre la extensión de usuario de Yii2, estoy cada vez más impresionado con su conjunto de funciones como una alternativa a la plantilla avanzada. Sin embargo, también puede integrarse fácilmente en cualquiera de las dos instalaciones.

Vale la pena explorar la plantilla avanzada antes de comenzar un proyecto importante. Estoy por ayudarte a hacer eso.

Instalación de la plantilla avanzada

Comencemos a instalar la plantilla avanzada con Yii2. Podemos seguir las instrucciones en el proyecto de plantilla avanzada en GitHub.

Actualizando Composer

En primer lugar, nos aseguraremos de que composer tenga los paquetes que necesita:

Instalación de Yii con la plantilla avanzada

Entonces, podemos instalar Yii con la plantilla avanzada de proyecto . Vamos a llamar a nuestra aplicación tutorial yiiplus:

Inicializando nuestra aplicación Yii

Ahora, vamos a inicializar nuestra aplicación:

Preparar la base de datos

A continuación, utilizaré la versión instalada de PHPMyAdmin para crear la base de datos:

create the database in PHPMyAdmincreate the database in PHPMyAdmincreate the database in PHPMyAdmin

Haga clic en Crear. Tomando capturas de pantalla para el tutorial, me olvidé de hacer clic en crear y luego me preguntaba por qué no era capaz de migrar mi base de datos—no existía todavía.

A continuación, edite /common/config/main-local.php para incluir la configuración de la base de datos:

Entonces, está listo para ejecutar la migración de la base de datos para inicializar su aplicación. Esto establece principalmente la tabla para la gestión de usuarios:

Configuración de Apache para los sitios front-end y back-end

Cuando configuramos nuestro entorno de desarrollo o producción con la plantilla avanzada, necesitamos apuntar al servidor web a una ruta raíz diferente, dos en realidad.

Primero, editaremos nuestro archivo de hosts para incluir frontend.dev y backend.dev:

En mi entorno de desarrollo con MAMP, enlazaré mi directorio yiiplus con htdocs de MAMP:

A continuación, activaré (descomente) la inclusión de hosts virtuales:

Y configurar rutas para cada uno de los nombres de mi servidor:

Una vez que esté completo, aquí es lo que el sitio web front-end se verá en http://frontend.dev:8888:

Yii2 Advanced Template Front End Home PageYii2 Advanced Template Front End Home PageYii2 Advanced Template Front End Home Page

El sitio back-end le pedirá que inicie la sesión—es para los administradores:

Yii2 Advanced Template Back End Home PageYii2 Advanced Template Back End Home PageYii2 Advanced Template Back End Home Page

Exploración de la gestión de usuarios

Ahora voy a guiarle a través de las características básicas de administración de usuarios de la plantilla avanzada. Pero primero debemos asegurarnos de que estamos recibiendo correos electrónicos de Yii en nuestro entorno de desarrollo.

Configuración la entrega de correo electrónico

La administración de usuarios envía correos electrónicos para restablecer las contraseñas, por lo que debemos activar la configuración SwiftMailer SMTP de Yii. Voy a utilizar Mailtrap.io, que exploré en un tutorial anterior, Introducción a Mailtrap: Un servidor SMTP falso para pruebas de preproducción de correo electrónico de la aplicación.

Mailtrap proporciona un servidor SMTP falso para que su equipo de desarrollo pueda probar, ver y compartir correos electrónicos enviados desde los entornos de preproducción y probar con datos reales sin el riesgo de enviar spam a clientes reales. Para muchas tareas de desarrollo, el uso de Mailtrap será gratuito.

Esencialmente, se registra en Mailtrap y envía todo el correo electrónico del entorno de preproducción a través de su servidor SMTP Mailtrap falso. Aquí hay una breve descripción general de Mailtrap por Railsware:

Si sigue el tutorial y crea una cuenta de Mailtrap, verá su bandeja de entrada de demostración:

The Mailtrap dashboard with your inboxesThe Mailtrap dashboard with your inboxesThe Mailtrap dashboard with your inboxes

Y, al hacer clic en el icono Configuración en la lista de buzones de entrada, verá que cada bandeja de entrada de Mailtrap tiene sus propias credenciales de servidor SMTP:

Mailtrap SMTP Server credentialsMailtrap SMTP Server credentialsMailtrap SMTP Server credentials

Con Yii, estoy actualizando la configuración SMTP de SwiftMailer en /common/config/main-local.php. Esto es como puede verse:

Tenga en cuenta que si no personaliza viewPath como se muestra arriba, puede encontrarse con un error en torno a los archivos de plantilla de correo electrónico que no se encuentran.

Inscripción y registro

Esto es lo que se ve en la pantalla de registro front-end:

Yii2 Advanced Application Template Sign up screenYii2 Advanced Application Template Sign up screenYii2 Advanced Application Template Sign up screen

Se mostrar la página de inicio en el estado inicio de sesión:

Yii2 Advanced Application Template Signed inYii2 Advanced Application Template Signed inYii2 Advanced Application Template Signed in

Ingresar

Esta es la pantalla de inicio de sesión:

Yii2 Advanced Application Template LoginYii2 Advanced Application Template LoginYii2 Advanced Application Template Login

Olvidó su contraseña

Y aquí está la pantalla Olvido su contraseña:

Yii2 Advanced Application Template Password ResetYii2 Advanced Application Template Password ResetYii2 Advanced Application Template Password Reset

Si solicita una nueva contraseña, la encontrará en Mailtrap:

Yii2 Advanced Application Template Using MailTrap for SMTPYii2 Advanced Application Template Using MailTrap for SMTPYii2 Advanced Application Template Using MailTrap for SMTP

¿Que sigue?

Usted puede desear comprobar hacia fuera mi serie creacion de su startup con PHP, que utiliza la plantilla avanzada de Yii2. Además, si está interesado en integrar este tutorial con Yii2 User, echa un vistazo a la guía de integración de Yii2: User con la plantilla avanzada y la autenticación de Google (próximamente).

Espero que haya disfrutado aprendiendo sobre la Plantilla Avanzada de Yii2. Tengo curiosidad por escuchar sus sugerencias en los comentarios sobre si prefiere la plantilla básica.

Vea los próximos tutoriales en mi serie Programación Con Yii2 mientras continúo sumando diferentes aspectos del framework. Agradezco las peticiones de características y temáticas. Puedes publicarlos en los comentarios a continuación o enviarme un correo electrónico a mi sitio web de Lookahead Consulting.

Si quieres saber cuándo llega el próximo tutorial de Yii2, sígueme @reifman en Twitter o consulta mi página de instructor. Mi página de instructor incluirá todos los artículos de esta serie tan pronto como se publiquen.

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.