laravel

Tutorial del programador de Laravel

Tutorial del programador de Laravel
Algunas tareas deben realizarse de forma regular en cualquier aplicación, y sería más eficiente si las tareas se pudieran realizar automáticamente. El marco de Laravel facilita este tipo de tareas mediante el uso de Laravel Scheduler. El envío de correos electrónicos masivos relacionados con la oferta, la optimización de datos, la generación de informes, el mantenimiento de la copia de seguridad de la aplicación y la eliminación de usuarios inactivos son algunos ejemplos comunes de las tareas repetitivas que se pueden realizar con el Programador de Laravel. Laravel puede ejecutar tareas específicas periódicamente mediante el uso de un administrador de tareas incorporado llamado Maíz trabajo. El archivo de configuración llamado Corntab es usado por Maíz para gestionar tareas de programación. Este tutorial le muestra cómo administrar tareas repetitivas creando Maíz trabajos y programación de tareas.

Prerrequisitos

Antes de comenzar este tutorial, primero, complete las siguientes tareas:

  1. Crea un nuevo proyecto de Laravel
  2. Configurar la conexión a la base de datos
  3. Ejecute el comando migrate crear una tabla de usuario
  4. Configure la configuración para enviar correos electrónicos (aquí se usa SMTP para enviar correos electrónicos).)

Implementar la autenticación predeterminada

Primero, implemente el sistema de autenticación de usuario predeterminado de Laravel para completar la tarea de programación que se muestra en este tutorial. Ejecute los siguientes comandos desde la terminal para implementar la autenticación predeterminada de Laravel usando Vue.

$ composer requiere laravel / ui
$ php artisan ui vue -auth

Ejecute el siguiente comando para compilar el andamio nuevo para obtener el contenido actualizado.

$ npm install && npm run dev

Ejecute el siguiente comando para borrar la memoria caché de la ruta.

$ php ruta artesanal: clara

Ejecute el siguiente comando para iniciar el servidor de desarrollo de Laravel y verifique si el sistema de autenticación de usuario predeterminado está funcionando.

$ php servicio artesanal

Abra cualquier navegador y ejecute la siguiente URL en el navegador. Si el acceso y Registrarse aparece el enlace y funciona correctamente, entonces la implementación de la autenticación predeterminada se ha completado correctamente.

http: // localhost: 8000

Crear una clase que se pueda enviar por correo y un comando artesanal

Muchos usuarios nuevos crearán cuentas a diario y realizarán muchas tareas relacionadas con los usuarios registrados cuando el proyecto esté en línea. A veces, la aplicación necesita saber cuántos usuarios han creado cuentas cada día. Si esta información se requiere de forma regular, entonces es mejor ejecutar una consulta en particular después de un intervalo regular. Aquí se usa un comando de Laravel para obtener la información de los usuarios registrados actualmente y se usa una clase mailable para enviar esa información por correo electrónico al administrador o una persona específica.

Ejecute el siguiente comando para crear la clase mailable para enviar el correo electrónico. Creará un archivo llamado SendUsersList.php en el lugar aplicación / correo.

$ php artisan make: mail SendUsersList

Abra el archivo y modifique el contenido, como en el siguiente código.

espacio de nombres App \ Mail;
use Illuminate \ Bus \ Queueable;
use Illuminate \ Contracts \ Queue \ ShouldQueue;
use Illuminate \ Mail \ Mailable;
use Illuminate \ Queue \ SerializesModels;
clase SendUsersList extiende Mailable

use Queueable, SerializesModels;
/ * Declarar una variable de matriz * /
public $ userList = array ();
/ **
* Crear una nueva instancia de mensaje.
*
* @return void
* /
función pública __construct ($ userList)

/ * Inicializar la variable de matriz por la variable pasada por el
creación de objeto de la clase. * /
$ this-> userList = $ userList;

/ **
* Construye el mensaje.
*
* @return $ esto
* /
función pública build ()

/ * Muestra el archivo de vista con los valores de la variable de matriz * /
return $ this-> view ('registradoList') -> with ('userList', $ this-> userList);

Ejecute el siguiente comando para crear el comando personalizado de Laravel llamado RegistrarseUsersList, que ejecutará la consulta para obtener la lista de información de los usuarios registrados en cada día. El comando creará un archivo llamado RegistrarseUsersList.php en el lugar aplicación / Comandos.

$ php artisan make: comando RegisterUsersList --command = registrados: usuarios

Abra el archivo y modifique el contenido con el siguiente código para enviar la lista de usuarios registrados actualmente del sistema actual a una dirección de correo electrónico en particular.

espacio de nombres App \ Console \ Commands;
use Illuminate \ Console \ Command;
/ * Importar paquetes necesarios * /
usar correo;
use App \ Mail \ SendUsersList;
utilizar DB;
use Carbon \ Carbon;
use App \ Console \ Commands \ DateTime;
class RegisterUsersList extiende el comando

/ **
* El nombre y la firma del comando de la consola.
*
* @var cadena
* /
/ * Agregar valor de firma * /
protegido $ firma = 'registrados: usuarios';
/ **
* La descripción del comando de la consola.
*
* @var cadena
* /
protected $ description = 'Lista de usuarios registrados';
/ **
* Crear una nueva instancia de comando.
*
* @return void
* /
función pública __construct ()

padre :: __ construct ();

/ **
* Ejecutar el comando de la consola.
*
* @return int
* /
identificador de función pública ()

/ * Leer la fecha actual del sistema * /
$ hoy = Carbon :: ahora () -> toDateString ();
/ * Obtener la información de la lista de usuarios que están registrados
en la fecha actual del sistema * /
$ current_registered_users =
DB :: table ('usuarios') -> whereDate ('created_at', $ hoy) -> get () -> toArray ();
/ * Crea el objeto de la clase mailable con la variable de matriz
que contiene la lista de usuarios registrados actualmente * /
$ email = new SendUsersList ($ current_registered_users);
/ * Enviar correo electrónico usando la clase de correo * /
Mail :: to ('dirección de correo electrónico del destinatario') -> enviar ($ email);

Configurar el programa para ejecutar el comando

Abre el Núcleo.php archivo de la ubicación aplicación / consola y modificar el contenido con el siguiente código. Puede configurar diferentes tipos de opciones de frecuencia de programación. Puede obtener la lista desde este enlace. Aquí, se usa el horario por horas.

espacio de nombres App \ Console;
use Illuminate \ Console \ Scheduling \ Schedule;
use Illuminate \ Foundation \ Console \ Kernel como ConsoleKernel;
clase Kernel extiende ConsoleKernel

/ **
* Los comandos Artisan proporcionados por su aplicación.
*
* @var matriz
* /
/ * Inicializar la variable $ comandos * /
$ comandos protegidos = [
'Aplicación \ Consola \ Comandos \ RegisterUsersList',
];
/ **
* Definir el programa de comandos de la aplicación.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ horario
* @return void
* /
horario de función protegida (horario $ horario)

/ * Establecer el horario cada hora * /
$ horario-> comando ('registrados: usuarios') -> por hora ();

/ **
* Registrar los comandos para la aplicación.
*
* @return void
* /
comandos de función protegida ()

$ esto-> cargar (__ DIR__.'/ Comandos');
require base_path ('rutas / consola.php ');

Crear vista

Crea el registradoLista.espada.php ver archivo con el siguiente código.


@if (recuento ($ userList)> 0)

La lista de usuarios registrados hoy se da a continuación:


@foreach ($ userList como $ usuario)
$ usuario-> nombre

@endforeach
@demás
Ningún usuario está registrado hoy todavía.
@terminara si

Ejecute el comando:

Ejecute los siguientes comandos para borrar el caché.

$ php caché artesanal: borrar
$ php artisan config: caché

Ejecute el siguiente comando artesanal desde la terminal para ejecutar el comando personalizado creado anteriormente y verifique la salida.

$ php artisan registrados: usuarios

Verifique la dirección de correo electrónico del destinatario para averiguar la salida. La siguiente salida aparecerá si no se crea ningún usuario.

Cree una nueva cuenta de usuario y revise el correo electrónico nuevamente.

Conclusión

El Programador de Laravel hace que las tareas repetitivas sean más fáciles de realizar para la aplicación. Después de leer este tutorial, los lectores ahora deben tener una comprensión clara de los conceptos de creación de comandos personalizados e implementación de tareas automatizadas utilizando Laravel Scheduler.

Agregue gestos del mouse a Windows 10 con estas herramientas gratuitas
En los últimos años, las computadoras y los sistemas operativos han evolucionado enormemente. Hubo un momento en que los usuarios tenían que usar coma...
Controle y administre el movimiento del mouse entre múltiples monitores en Windows 10
Administrador de mouse de doble pantalla le permite controlar y configurar el movimiento del mouse entre varios monitores, al ralentizar sus movimient...
WinMouse le permite personalizar y mejorar el movimiento del puntero del mouse en una PC con Windows
Si desea mejorar las funciones predeterminadas del puntero del mouse, use el software gratuito WinMouse. Agrega más funciones para ayudarlo a aprovech...