Logotipo de Zephyrnet

Preguntas de la entrevista de Laravel

Fecha:

Tabla de contenidos.

Laravel es un marco de aplicación web PHP gratuito y de código abierto diseñado para el desarrollo de aplicaciones web siguiendo el patrón arquitectónico modelo-vista-controlador (MVC). Fue creado por Taylor Otwell en 2011 y desde entonces se ha convertido en uno de los marcos PHP más populares para desarrollar aplicaciones web.

1. ¿Qué es Laravel?

Laravel es un marco de aplicación web PHP que sigue la arquitectura MVC (Modelo Vista Controlador). Es gratuito y de código abierto, con licencia del MIT. Laravel se ha convertido en uno de los marcos más populares y respetados, ya que tiene como objetivo facilitar el proceso de desarrollo sin sacrificar la calidad de la aplicación. Algunas de las características de Laravel son:

2. Cómo poner las aplicaciones Laravel en modo mantenimiento

El marco de laravel viene con una forma suave y sin estrés de poner su aplicación en modo de mantenimiento. El modo de mantenimiento le permite mostrar a los usuarios una notificación fácil de usar en lugar de un sitio web roto mientras se mantiene el sitio web. También le permite realizar de forma segura cualquier tarea de mantenimiento al tiempo que garantiza que las personas que necesitan acceso al sitio puedan acceder a él.

Se puede acceder usando el comando artesanal a continuación:

PHP artesanal hacia abajo

Este comando tiene 3 banderas opcionales:

  • mensaje: se utiliza para personalizar el mensaje que se mostrará en la página de mantenimiento.
  • reintentos: número de segundos después de los cuales se puede volver a intentar la solicitud
  • permitir: las direcciones IP o las redes pueden acceder a la aplicación en modo de mantenimiento (este puede ser su servidor de desarrollo o las direcciones IP de los desarrolladores que trabajan en el proyecto)

Cuando su aplicación está en modo de mantenimiento, los usuarios de su aplicación verán una página personalizable para notificarles que está realizando tareas de mantenimiento.

  • Un sistema de paquetes modulares con un administrador de dependencias dedicado
  • Diferentes formas de acceder a bases de datos relacionales
  • Herramientas para ayudar a implementar y mantener aplicaciones
  • Orientación de azúcar sintáctica

3. ¿Explicar eventos en Laravel?

Un evento es cualquier cosa que ha sucedido o ha tenido lugar. De manera similar, en Laravel, los eventos son solo formas de notificar a su aplicación que se ha producido una acción. Los eventos se pueden enviar a cualquier parte de su aplicación, como controlador, modelo, middleware o incluso en archivos blade. Un evento puede tener varios oyentes asignados y, cuando se envía, todas las clases de oyentes se ejecutarán secuencialmente en el orden en que están asignadas.

Entonces, si se activa un evento, la aplicación puede realizar múltiples tareas activando diferentes oyentes.

Para crear una clase de evento, use el comando make: event craft:

php artesanal hacer: evento

Este comando crea una nueva clase en la carpeta appEvents de su aplicación y eso es todo lo que necesita para crear una clase de evento.

Otra forma de crear eventos es registrar eventos en la clase EventServiceProvider y luego ejecutar:

evento artesanal php: generar

Este comando busca en la clase EventServiceProvider y genera los eventos y oyentes que faltan en función del registro.

4. ¿Explicar las validaciones en Laravel?

La validación es el aspecto más importante al diseñar una aplicación. Laravel viene con una instalación simple y conveniente para validar datos y obtener mensajes de error de validación a través de la clase de controlador base (clase Validator).

La clase de validador valida los datos entrantes de forma predeterminada mediante la propiedad ValidatesRequests, que proporciona un método conveniente para validar las solicitudes HTTP entrantes mediante un conjunto de reglas de validación eficaces.

La clase Validator proporciona varias reglas para validar archivos, como tamaño, mimo y más. Simplemente puede pasarlos al validador con otros datos al validar archivos.

5. ¿Cuál es la última versión de Laravel?

El esquema de versiones de Laravel mantiene la siguiente convención: paradigma.mayor.menor. Las versiones principales del marco se publican cada seis meses (febrero y agosto), mientras que las versiones menores pueden publicarse semanalmente.

A partir de octubre de 2022, la última versión de Laravel es la versión 9, que se lanzó el 8 de febrero de 2022.

6. ¿Cómo instalar Laravel a través de composer?

Puedes instalar Laravel escribiendo Composer create-project en tu terminal:

composer create-project laravel/laravel {directorio} {versión} –prefer-dist

Una vez que Composer esté instalado, descargue la versión requerida del marco Laravel y extraiga su contenido a un directorio en su servidor. A continuación, en el directorio raíz de su aplicación Laravel, ejecute el siguiente comando para instalar todas las dependencias del marco. :

php Creator.phar install (o comando de instalación)

Este proceso requiere que Git esté instalado en el servidor para que la instalación se complete correctamente.

Si desea actualizar el marco de Laravel, puede ingresar el comando: 

actualización de php Creator.phar

7. ¿Enumere algunas características de Laravel 6?

El lanzamiento de Laravel 6.0 incluye correcciones de errores hasta el 3 de septiembre de 2021 y correcciones de seguridad hasta el 3 de septiembre de 2022.

Las nuevas características de Laravel 6 son las siguientes:

  • Las notas de la versión de Laravel aclaran las versiones semánticas en el futuro en Laravel 6.0 y más allá.
  • Laravel 6.0 ahora viene con Ignition, un nuevo sitio de excepciones de código abierto para Laravel, creado por Freek Van der Herten y Marcel Pociot.
  • Solía ​​ser difícil proporcionar a los usuarios finales mensajes de error de autorización personalizados. Laravel 6 presenta el método Gate::inspect para proporcionar la respuesta de la política de autorización
  • Job Middleware es una característica aportada por Taylor Otwell que permite que los trabajos se ejecuten a través de middleware.
  • Las colecciones perezosas son un cambio de juego para trabajar con grandes colecciones de datos, incluidas las colecciones de modelos Eloquent. La nueva clase IlluminateSupportLazyCollection utiliza generadores de PHP para mantener la memoria baja cuando se trabaja con grandes conjuntos de datos.
  • Jonathan Reinink contribuyó a Subconsultas: mejoras de subconsultas elocuentes en Laravel 6.0.
  • El scaffolding frontend proporcionado con las versiones de Laravel 5.x ahora se extrae en un paquete independiente de laravel/ui Composer. Esto permite que el andamiaje de la interfaz de usuario de origen se itere por separado del marco principal.

8. ¿Qué es PHP artesanal? Enumere algunos comandos artesanales.

PHP Artisan es una interfaz de línea de comandos que forma parte de Laravel. Artisan existe en el directorio raíz de su aplicación como un script artesanal y proporciona una serie de comandos útiles que pueden ayudarlo a construir su aplicación. Para enumerar todos los comandos de Artisan disponibles, puede usar el comando de lista: lista artesanal de php

Algunos de los comandos de elaboración son:

make:channel Crea una nueva clase de canal

make:command Crea un nuevo comando Artisan

make:controller Crea una nueva clase de controlador

make:event Crea una nueva clase de evento

make:exception Crea una nueva clase de excepción personalizada

make:factory Crear una nueva fábrica modelo

make:job Crea una nueva clase de trabajo

make:listener Crea una nueva clase de detector de eventos

make:mail Crear una nueva clase de correo electrónico

make:middleware Crear una nueva clase de middleware

make:migration Crear un nuevo archivo de migración

make:model Crea una nueva clase de modelo Eloquent

make:notification Crear una nueva clase de notificación

make:observer Crea una nueva clase de observador

make:policy Crea una nueva clase de política

make:provider Crear una nueva clase de proveedor de servicios

make:request Crea una nueva clase de solicitud de formulario

make:resource Crear un nuevo recurso

make:rule Crea una nueva regla de validación

make:seeder Crea una nueva clase de sembradora

  make:test Crear una nueva clase de prueba

9. ¿Enumere algunos paquetes predeterminados proporcionados por Laravel Framework?

Laravel tiene módulos que actúan como paquetes con varias vistas, controladores o modelos. Laravel Package Manager proporciona una gestión de paquetes rápida pero sencilla para su proyecto Laravel. Le permite instalar un paquete a través de Composer rápidamente y registra automáticamente cualquiera o todos los proveedores de servicios y exteriores proporcionados por el paquete.

Algunos paquetes predeterminados de Laravel son:

  • Espacio: Los roles y permisos son una parte importante de muchas aplicaciones web. Y Spatie le ofrece el mejor paquete de permisos para administrar roles y permisos.
  • Laravel Debugbar: se encuentra entre los mejores paquetes de Laravel que ayudan a los usuarios a agregar una barra de herramientas de desarrollador a sus aplicaciones. Este paquete se utiliza principalmente con fines de depuración.
  • Autenticación de usuario de Laravel: este paquete le permite realizar la autenticación de usuario y verificar correos electrónicos.
  • Socialite: proporciona una manera simple y fácil de manejar la autenticación OAuth. Permite a los usuarios iniciar sesión a través de algunas de las redes sociales y servicios más populares, incluidos Facebook, Twitter, Google, GitHub y BitBucket.
  • Laravel Mix: Laravel Mix, anteriormente conocido como Laravel Elixir, proporciona una interfaz de programación de aplicaciones (API) limpia y rica para definir los pasos para crear un paquete web para su proyecto. Es la herramienta de compilación de activos más poderosa disponible para Laravel en la actualidad.
  • Eloquent-Sluggable: Slugging es el proceso de crear una versión simplificada y compatible con URL de una cadena al convertirla en un solo caso y eliminar espacios, acentos, signos y, etc. Con Eloquent-Sluggable, puede crear fácilmente slugs para todos los elocuentes. modelos en su proyecto.
  • Generador de Migraciones: Este es un paquete de Laravel que te permite generar migraciones desde una base de datos existente, incluyendo índices y claves foráneas.
  • Laravel Backup: Esto crea una copia de seguridad de todos sus archivos en la aplicación. Creará un archivo zip que contiene todos los archivos en los directorios que especificó, junto con un volcado de su base de datos.
  • Credenciales: proporciona una forma flexible de agregar permisos basados ​​en roles a su aplicación Laravel 5.
  • No Captcha: este es un paquete para implementar la validación de Google reCaptcha y proteger los formularios del spam. Requiere que obtenga una clave API gratuita de reCaptcha.

10. ¿Qué son las rutas con nombre en Laravel?

Las rutas con nombre son una característica importante dentro de Laravel. Le permite referenciar rutas al generar URL o redirigir a rutas específicas. En resumen, podemos decir que el nombramiento de rutas es una forma de dar un apodo a una ruta.

Todas las rutas de Laravel se definen en sus archivos de rutas, que se encuentran en el directorio de rutas. Estos archivos los carga automáticamente el AppProvidersRouteServiceProvider de su aplicación.

El archivo route/web.php define las rutas que son para su interfaz web. A estas rutas se les asigna un grupo de middleware web que proporciona características como el estado de la sesión y la protección CSRF. Las rutas en route/api.php no tienen estado y se les asigna un grupo de API de middleware.

11. ¿Cuáles son las mejores características de Laravel 8?

Laravel 8 se lanzó el 8 de septiembre de 2020. Las nuevas características de laravel 8 son: –

  • Nueva página de destino: la página que aparece cuando llega a la página de inicio en una instalación nueva ha tenido un lavado de cara y ahora está construida con TailwindCSS y viene en una versión clara/oscura.
  • Directorio predeterminado de aplicaciones/modelos: Laravel 8 incluye un directorio de aplicaciones/modelos en lugar de mantener la clase de modelo en la raíz de la aplicación como en versiones anteriores de Laravel.
  • En versiones anteriores de Laravel, había una propiedad llamada $namespace en RouteServiceProvider.php que se usaba para prefijar el espacio de nombres de tus controladores automáticamente. Esta propiedad se eliminó en Laravel 8, por lo que puede importar sus clases de controlador al archivo de rutas sin ningún problema.
  • Almacenamiento en caché de rutas mejorado: ahora es compatible con el almacenamiento en caché de rutas para rutas basadas en cierres.
  • En Laravel 8, todos los componentes secundarios tendrán atributos $ disponibles, lo que facilitará la creación de componentes extendidos.
  • Limpiador de sintaxis para detectores de eventos basados ​​en clausura
  • Oyentes de eventos anónimos en cola: en Laravel 8, puede enviar una tarea basada en un cierre a una cola de devoluciones de llamada de eventos modelo

12. ¿Qué es la migración de bases de datos? ¿Cómo crear migración a través de artesano?

Las migraciones son como el control de versiones de su base de datos, lo que le permite a su equipo modificar y compartir fácilmente el esquema de la base de datos de la aplicación. Las migraciones generalmente se combinan con el generador de esquemas de Laravel para crear fácilmente el esquema de la base de datos de su aplicación.

Para crear datos de migración, podemos usar el comando php artesanal con los parámetros make:migration como se muestra a continuación: –

php artesanal hacer: migración create_users_table

13. ¿Qué son los proveedores de servicios en Laravel?

Los proveedores de servicios son el punto central de implementación de todas las aplicaciones de Laravel. Sus aplicaciones personalizadas, así como todos los servicios principales de Laravel, se implementan a través de proveedores de servicios. Si abre el archivo config/app.php que se incluye con Laravel, verá el campo de proveedores. Estas son todas las clases de proveedores de servicios que se cargarán para su aplicación. De forma predeterminada, este campo enumera un conjunto de proveedores de servicios principales de Laravel. Estos proveedores implementan los componentes principales de Laravel, como correo, cola, caché y más. Muchos de estos proveedores son proveedores "diferidos", lo que significa que no se cargarán en cada solicitud, sino solo cuando los servicios que brindan para crear un proveedor de servicios, podemos usar el comando php artesanal con el parámetro make: proveedor de la siguiente manera: –

php crafty make:proveedor MyServiceProvider

14. ¿Explicar el contenedor de servicios de Laravel?

El contenedor de servicios de Laravel es una herramienta poderosa para administrar dependencias de clases y realizar la inyección de dependencias. Un contenedor de servicios es como un contenedor donde definimos cómo se debe resolver la dependencia. Necesitamos registrar las dependencias con el contenedor de servicios durante la inicialización del marco, y el mejor lugar para hacerlo es con el proveedor de servicios.

15. ¿Qué es un compositor?

Composer es un administrador de dependencias para el lenguaje de programación PHP que administra las dependencias del software PHP y las bibliotecas requeridas. Nils Adermann y Jordi Boggiano desarrollaron Composer. Composer se ejecuta a través de la línea de comandos. El objetivo principal de composer es instalar dependencias o bibliotecas para una aplicación. Composer también permite a los usuarios instalar aplicaciones PHP disponibles en Packagist, donde Packagist es el repositorio principal que contiene todos los paquetes disponibles. Composer proporciona funciones de carga automática para bibliotecas para facilitar el uso de código de terceros.

16. ¿Qué es la inyección de dependencia en Laravel?

La inyección de dependencia es un método utilizado para desconectar las dependencias de clase codificadas de forma rígida. Las dependencias se inyectan en tiempo de ejecución, lo que permite una mayor flexibilidad porque la ejecución de las dependencias se puede repetir fácilmente. En Laravel, la inyección de dependencias es el proceso de inyectar dependencias de clase en una clase utilizando un método constructor o setter. Esto permite que su código se vea más limpio y se ejecute más rápido.

17. ¿Qué son los contratos de Laravel?

Los contratos de Laravel son un conjunto de interfaces que definen los servicios principales proporcionados por el marco. Por ejemplo, el contrato Queue define los métodos necesarios para poner en cola los trabajos, mientras que el contrato Mailer define los métodos necesarios para enviar correos electrónicos. Cada contrato tiene una implementación correspondiente proporcionada por el marco. Por ejemplo, Laravel proporciona una implementación de Queue con diferentes controladores y una implementación de Mailer que funciona con SwiftMailer. Todos los contratos de Laravel viven en su propio repositorio de GitHub. Esto proporciona un punto de referencia rápido para todos los contratos disponibles, así como un paquete separado que pueden usar otros desarrolladores de paquetes.

18. ¿Explicar fachadas en Laravel?

Las fachadas proporcionan una interfaz estática para las clases que están disponibles en el contenedor de servicios de una aplicación. Las fachadas de Laravel sirven como proxies estáticos para las clases base en el contenedor de servicios, brindando el beneficio de una sintaxis expresiva y concisa mientras mantienen una mayor capacidad de prueba y flexibilidad que los métodos estáticos tradicionales.

19. ¿Qué es Laravel elocuente?

Laravel incluye Eloquent, un mapeador relacional de objetos (ORM) que hace que la interacción con su base de datos sea muy sencilla. Al usar Eloquent, cada tabla de la base de datos tiene un "Modelo" correspondiente que se puede usar para interactuar con esa tabla en particular. Además de recuperar registros de una tabla de base de datos, los modelos Eloquent también le permiten insertar, actualizar y eliminar registros de una tabla.

20. ¿Cómo habilitar el registro de consultas en Laravel?

Laravel puede opcionalmente registrar en la memoria todas las consultas que se han ejecutado para la solicitud actual. Pero en algunos casos, como cuando se inserta una gran cantidad de filas, esto puede hacer que la aplicación use un exceso de memoria. Para habilitar el registro, puede utilizar el método enableQueryLog:

DB::conexión()->enableQueryLog();

21. ¿Qué es el enrutamiento inverso en Laravel?

El enrutamiento inverso de Laravel utiliza declaraciones de ruta para generar URL. La redirección hace que su aplicación sea mucho más flexible. Define la relación entre líneas y rutas de Laravel. Cuando se crea un enlace usando los nombres de las rutas existentes, Laravel crea automáticamente el Uri apropiado. Aquí hay un ejemplo de una dirección inversa. 

// declaración de ruta

Route::get('registrar', 'usuarios@registrar');

Usando el enrutamiento inverso, podemos crear una referencia y pasar cualquier parámetro que definamos. Los parámetros opcionales, si no se especifican, se eliminan del enlace generado.

{{ HTML::link_to_action(‘users@register’) }}

Generará automáticamente una URL como http://sample.com/register en la vista.

22. ¿Cómo desactivar la protección CRSF para una ruta específica en Laravel?

CSRF significa falsificación de solicitud entre sitios. También se conoce como XSRF, Sea Surf y Session Riding. CSRF es un ataque que obliga a un usuario final a realizar acciones no deseadas en la aplicación web en la que está autenticado actualmente. Laravel valida CSRF utilizando el middleware VerifyCsrfToken.

Esta es la ubicación del middleware: IlluminateFoundationHttpMiddlewareVerifyCsrfToken. Este middleware se ejecuta en cada solicitud HTTP.

Para deshabilitar la protección CSRF, vaya a appHttpMiddleware y abra el archivo VerifyCsrfToken.php. Necesitamos agregar rutas a protected $except = []; campo.

23. ¿Cuáles son las características de Laravel?

Los rasgos se utilizan en lenguajes de herencia única como PHP para la reutilización del código. Esta propiedad pretende reducir algunas de las limitaciones de la herencia única al permitir que el desarrollador reutilice libremente conjuntos de métodos en varias clases independientes que viven en diferentes jerarquías de clases.

En pocas palabras, los rasgos son un grupo de métodos que desea incluir en otra clase. Puede reutilizar fácilmente este método en otra clase. Este rasgo se guarda para que el mismo código se pueda escribir una y otra vez.

24. ¿Laravel admite el almacenamiento en caché?

Sí, Laravel admite el almacenamiento en caché. Se puede usar con muchos backends de almacenamiento en caché populares, como Memcached, Redis, DynamoDB y bases de datos relacionales. Además, hay disponible un controlador de caché basado en archivos, mientras que los controladores de matriz y los cachés "nulos" proporcionan backends de caché convenientes para sus pruebas automatizadas.

El archivo de configuración de caché de su aplicación se encuentra en config/cache.php. En este archivo, puede especificar qué controlador de caché desea usar como predeterminado en toda su aplicación. El archivo de configuración de caché también contiene varias otras opciones que están documentadas en el archivo, así que lea esas opciones. De forma predeterminada, Laravel está configurado para usar un controlador de caché de archivos que almacena en caché objetos serializados en el sistema de archivos del servidor.

25. ¿Explicar el Middleware de Laravel?

El middleware proporciona un mecanismo conveniente para inspeccionar y filtrar las solicitudes HTTP que ingresan a su aplicación. Laravel incluye un middleware que verifica que el usuario de su aplicación esté autenticado. Si el usuario no está autenticado, el middleware lo redirige a la pantalla de inicio de sesión de su aplicación. Sin embargo, si el usuario está autenticado, el middleware permitirá que la solicitud continúe en la aplicación. Además de la autenticación, se puede escribir middleware adicional para realizar varias tareas.

26. ¿Qué es Lumen?

Lumen es un micromarco PHP de código abierto creado por Taylor Otwell como una alternativa a Laravel para satisfacer la demanda de instalaciones ligeras que sean más rápidas que los micromarcos PHP existentes, como Slim y Silex. Con Lumen, puede crear microservicios y API ultrarrápidos que sus aplicaciones Laravel pueden admitir. Lumen utiliza componentes de Illuminate que impulsan el marco de Laravel. Como tal, Lumen está diseñado para actualizarse directamente a Laravel si es necesario sin problemas.

Algunas características del lumen son:

  • El enrutamiento se proporciona listo para usar en Lumen. Esto incluye enrutamiento básico, parámetros de enrutamiento, rutas con nombre y grupos de enrutamiento como el middleware.
  • La autenticación no admite el estado de la sesión. Sin embargo, las solicitudes entrantes se autentican a través de mecanismos sin estado, como tokens.
  • El almacenamiento en caché se implementa igual que en Laravel. Se admiten controladores de caché como Database, Memcached y Redis. Por ejemplo, puede instalar el paquete de luces/Redis a través de Composer para usar el caché de Redis con Lumen.
  • Los errores y el registro se implementan a través de la biblioteca Monolog, que brinda soporte para varios controladores de registro.
  • Los servicios de colas son similares a los que ofrece Laravel. Se proporciona una sola API para una variedad de backends de cola diferentes.
  • Los eventos proporcionan una implementación de observador simple que le permite suscribirse y escuchar eventos en su aplicación.
  • Los procesos de arranque se encuentran en un solo archivo.

27. ¿Explicar los paquetes en Laravel?

Los paquetes se mejoraron considerablemente en Laravel 3.0. Los paquetes son grupos de códigos que se unen convenientemente. Un paquete puede tener sus propias vistas, configuración, rutas, migraciones, trabajos y más. Un paquete puede ser cualquier cosa, desde un ORM de base de datos hasta un sistema de autenticación robusto. La modularidad de este alcance es un aspecto importante que ha impulsado prácticamente todas las decisiones de diseño en Laravel. En muchos sentidos, puedes pensar en la carpeta de la aplicación como un paquete predeterminado especial que Laravel está preprogramado para cargar y usar.

28. ¿Cómo usar una tabla personalizada en Laravel Modal?

Podemos usar fácilmente una tabla personalizada en Laravel anulando la propiedad protegida por tabla $ de Eloquent. Aquí hay una muestra:

El usuario de clase extiende Eloquent {

protected $table=”sample_table”;

}

29. ¿Enumere los tipos de relaciones disponibles en Laravel Eloquent?

Las tablas de bases de datos suelen estar relacionadas. Por ejemplo, un sitio de redes sociales puede tener muchos usuarios o un pedido puede estar relacionado con el usuario que lo realizó. Eloquent facilita la gestión y el trabajo con estas relaciones y admite una serie de relaciones comunes, como:

  • Doce y cincuenta y nueve de la noche
  • Uno a muchos
  • Muchos a muchos
  • Tiene uno a través
  • tiene muchos a través
  • Uno a uno (polimórfico)
  • Uno a muchos (polimórfico)
  • Muchos a muchos (polimórfico)

30. ¿Por qué son necesarias las migraciones?

Las migraciones se utilizan para compartir cambios o actualizaciones en el esquema de la base de datos de la aplicación con sus compañeros de equipo. Es como el control de versiones de su base de datos. Para construir el esquema de la base de datos de su aplicación, las migraciones generalmente se combinan con el generador de esquemas de Laravel. Si alguna vez agregó una nueva columna a su base de datos local y desea que los cambios se reflejen en el esquema de la base de datos local de su compañero de equipo, se ha topado con un problema que resuelve la migración de la base de datos.

31. ¿Proporciona los requisitos del sistema para la instalación del marco Laravel?

El marco de Laravel tiene varios requisitos del sistema:

  • PHP >= 5.4, PHP < 7
  • Extensión PHP Mcrypt
  • Extensión PHP OpenSSL
  • Extensión PHP MBstring
  • Extensión PHP Tokenizer

A partir de PHP 5.5, algunas distribuciones de SO pueden requerir la instalación manual de la extensión PHP JSON. Al usar Ubuntu, esto se puede hacer con el siguiente comando:

apt-get instala php5-json.

32. ¿Enumere algunos métodos agregados proporcionados por el generador de consultas en Laravel?

El generador de consultas de bases de datos proporciona una forma de crear y ejecutar consultas de bases de datos de una manera cómoda y sencilla. Funciona en todos los sistemas de base de datos admitidos y se puede utilizar para realizar la mayoría de las operaciones de base de datos en su aplicación.

El generador de consultas proporciona varios métodos de agregación, como:

  • Contar
  • Max
  • Min
  • Promedio
  • Suma

33. ¿Cómo verificar si la solicitud es ajax o no?

Laravel permite el uso de su método de biblioteca que se puede usar para identificar la solicitud, ya sea una solicitud ajax o no.

En Laravel podemos usar el método $request->ajax() para verificar si la solicitud es ajax o no.

Ejemplo:

      ejemplo de función pública ($ solicitud de solicitud)

        {

            if($solicitud->ajax()){

                devolver "Ajax";

            }

            devolver "No Ajax";

        }

34. Explique la inversión de control y cómo implementarla.

El contenedor de control de inversión de Laravel es una herramienta poderosa para administrar dependencias de clases. La inyección de dependencia es un método para eliminar dependencias de clase codificadas de forma rígida. En cambio, las dependencias se inyectan en tiempo de ejecución, lo que permite una mayor flexibilidad, ya que las implementaciones de las dependencias se pueden intercambiar fácilmente. Hay dos formas en que un contenedor IoC puede resolver dependencias: a través de devoluciones de llamada de cierre o resolución automática

35. ¿Cuál es el patrón de diseño de Singleton?

Uno de los patrones de diseño más populares en ingeniería de software es el patrón de diseño singleton. Este patrón de diseño creativo garantiza que solo exista una instancia de una clase en el sistema. Una clase singleton encapsula su propio estado y proporciona un punto de acceso global a sí misma.

Laravel usa el patrón singleton en varios lugares, por ejemplo:

  • Solicitar clase
  • Clase de evento
  • Conexión a la base de datos
  • frentes

El contenedor de servicios de Laravel es una herramienta poderosa para administrar dependencias de clases y realizar la inyección de dependencias. Para garantizar que solo se cree una instancia de una clase, el contenedor de servicios utiliza el patrón singleton. Esto permite que el contenedor administre el ciclo de vida de la clase y sus dependencias y garantice que todos se resuelvan correctamente.

36. ¿Explicar la inyección de dependencia y sus tipos?

La inyección de dependencia es un método utilizado para desconectar las dependencias de clase codificadas de forma rígida. Las dependencias se inyectan en tiempo de ejecución, lo que permite una mayor flexibilidad porque la ejecución de las dependencias puede ser fácilmente recibida. En Laravel, la inyección de dependencia es el proceso de inyectar dependencias de clase en una clase utilizando un método constructor o setter. Esto permite que su código se vea más limpio y se ejecute más rápido.

Hay tres métodos comunes de inyección de dependencia:

  • Inyección de constructor: se pasa una dependencia a un objeto a través de su constructor, que acepta una interfaz como argumento. Un objeto de una clase particular está vinculado a un identificador de interfaz.
  • Inyección de método: también conocida como inyección basada en interfaz. Una dependencia se pasa a un objeto a través de un método. Esto es útil si necesita usar un objeto específico diferente en diferentes momentos.
  • Inyección de propiedad: También conocido como colocador de inyección. Si se selecciona e invoca una dependencia en diferentes lugares, podemos establecer la dependencia usando una propiedad expuesta por el objeto dependiente, que luego puede invocarla.

37. ¿Qué es Laravel Vapor?

Laravel Vapor es una plataforma de implementación de Laravel sin servidor y de escalado automático basada en AWS Lambda. Puede administrar su infraestructura de Laravel en Vapor, ya que proporciona funciones como la escalabilidad y la simplicidad de una solución sin servidor. Vapor abstrae la complejidad de administrar aplicaciones de Laravel en AWS Lambda y conectar esas aplicaciones a colas de SQS, bases de datos, clústeres de Redis, redes, CloudFront CDN, y más. Algunos de los aspectos más destacados de las características de Vapor incluyen:

  • Túneles de base de datos y caché que permiten un fácil control local
  • Cargue recursos automáticamente en Cloudfront CDN durante la implementación
  • Gestión y renovación de certificados
  • Métricas de aplicaciones, bases de datos y caché
  • CI amigable
  • Infraestructura de escalado automático web/cola ajustada para Laravel
  • Implementaciones y devoluciones sin tiempo de inactividad

38. ¿Cuáles son los pros y los contras de usar Laravel Framework?

No hay un marco diseñado para ser perfecto. Cada marco tiene sus ventajas y desventajas. Aquí hay una lista de algunas ventajas y desventajas de Laravel:

Pros:

  • La característica principal del marco es que es fácil de aprender. La documentación del usuario es completa y en su forma más simple. Los screencasts de PHP permiten una comprensión lo suficientemente cómoda.
  • Proporciona un marco MVC o Model View Controller.
  • Compatibilidad elegante con mapeo relacional de objetos o ORM: este es otro servicio que automatiza y abstrae partes del modelo.
  • El módulo de plantilla de hoja proporciona una manera fácil de agregar cualquier lógica a su archivo HTML. Se ha vuelto fácil agregar nuevas funciones de aplicación sin piratear el núcleo.
  • Enrutamiento: Administrar y abstraer el proceso de enrutamiento se ha vuelto muy fácil. El marco también incluye una función de enrutamiento inverso.
  • Gestión de colas: Laravel proporciona un excelente proceso de abstracción que le permite abstraer tareas innecesarias y ponerlas en cola detrás de escena, lo que hace que el tiempo de respuesta del usuario sea mucho más rápido.
  • Bundles and Composer proporciona una serie de paquetes para el sistema de empaquetado modular, así como sus dependencias. Gracias a la modularidad, reutilizar el código es una molestia.
  • Las aplicaciones web se ejecutan rápidamente
  • Laravel cumple con los requisitos de las principales aplicaciones web.
  • Laravel es ideal para aplicaciones web pequeñas y medianas.

Contras:

  • Laravel es un marco liviano, por lo que tiene menos soporte integrado en comparación con Django y Ruby on Rails. Este problema se puede resolver integrando herramientas de terceros, pero las tareas pueden ser tediosas y complicadas para sitios web grandes o personalizados.
  • Todos los archivos principales de Laravel están en el espacio de nombres de Laravel, y no todos los archivos principales usan una barra inclinada () antes de llamar a otro archivo principal, lo que puede complicar un poco la extensión de las clases. Esto no es gran cosa, y muchos desarrolladores no se preocuparán por eso.
  • Laravel es un marco nuevo, no tan maduro como muchos otros marcos. Composer no es tan poderoso en comparación con npm (para contratar desarrolladores de node js) o ruby ​​gems and pip (contratación de desarrolladores de Python)
  • El desarrollo no es tan rápido en comparación con los rubíes en los rieles.
  • Es bastante lento y una nueva plataforma para desarrolladores.
  • Los desarrolladores experimentados enfrentan problemas para extender códigos y clases.
  • El apoyo de la comunidad no está muy extendido en comparación con otras plataformas
  • Muchos de los métodos involucrados en el proceso de ingeniería inversa son complejos.
  • No es fácil para los sistemas heredados migrar a Laravel

39. ¿Qué es el Cursor de Laravel?

El método Cursor de Laravel le permite iterar sobre los registros de la base de datos utilizando un cursor que ejecuta solo una consulta. Cuando se procesan grandes cantidades de datos, el método del cursor se puede utilizar para reducir significativamente el uso de la memoria.

40. ¿Cuál es el uso de dd() en Laravel?

dd() en laravel es una función auxiliar que se utiliza para volcar el contenido de una variable en el navegador y detener la ejecución del script. Significa Dump and Dies. Esta característica se considera una excelente opción de depuración con variables y objetos codificados por colores que son muy legibles y bien formateados.

41. ¿Qué es el rendimiento en Laravel?

La opción Rendimiento en laravel se usa para definir una sección en un diseño particular y se usa constantemente para cargar contenido de una página secundaria a una página maestra. Entonces, si Laravel ejecuta el archivo blade, verifica si el usuario tiene un diseño extendido y luego inserta el diseño principal, comenzando con la sección @. En pocas palabras, el rendimiento es similar al contenido; si el usuario escribe una etiqueta en el contenido, debe definirse entre paréntesis. Si el usuario no necesita redactar el contenido, puede componerse como un retorno definido internamente según el requisito. En la página secundaria, el usuario puede importar cualquier cosa de la página HTML desde el contenido del diseño, que se define en la sección del título. Por ejemplo, si el usuario está etiquetado como rendimiento en el encabezado de la página de diseño, puede obtener cualquier solicitud que desee. Y en la página secundaria, se puede describir con la @sección en el encabezado. Importa el encabezado en la página de diseño dentro de la página secundaria con la parte del cuerpo; en este caso, el título se trata como contenido.

42. ¿Cómo borras el caché en Laravel?

En laravel, el caché principal es el caché de la aplicación. Almacena todo lo que almacena en caché manualmente en su aplicación. Puede borrar solo ciertos elementos de caché si usa etiquetas o diferentes almacenes de caché. Para borrar el caché en Laravel, realice una de las siguientes acciones:

  • Borre el caché de Laravel usando el comando artesanal

caché artesanal php: claro

  • Borrar el caché de Laravel mediante programación

Eliminar elementos del caché mediante programación es tan fácil como borrar el caché con el comando artesanal. También puede usar la fachada de caché o el asistente de caché para acceder al caché.

Caché::vaciar()

caché()->descarga()

43. ¿Qué es Laravel nova?

Laravel Nova es un hermoso panel de administración para aplicaciones Laravel. La característica principal de Nova es la capacidad de administrar los registros de su base de datos subyacente utilizando Eloquent. Nova logra esto al permitirle definir una "fuente" de Nova que corresponde a cada modelo de Eloquent en su aplicación.

44. ¿Qué son las relaciones en Laravel?

Las tablas de bases de datos suelen estar relacionadas. Por ejemplo, un sitio de redes sociales puede tener muchos usuarios o un pedido puede estar relacionado con el usuario que lo realizó. Eloquent facilita la gestión y el trabajo con estas relaciones y admite una serie de relaciones comunes, como:

  • Doce y cincuenta y nueve de la noche
  • Uno a muchos
  • Muchos a muchos
  • Tiene uno a través
  • tiene muchos a través
  • Uno a uno (polimórfico)
  • Uno a muchos (polimórfico)
  • Muchos a muchos (polimórfico)

45. ¿Qué es Eloquent en Laravel?

Eloquent es un mapeador relacional de objetos (ORM) que viene de serie con el marco de Laravel. Un ORM es un software que facilita el procesamiento de registros de bases de datos al representar los datos como objetos y actuar como una capa de abstracción sobre el motor de base de datos utilizado para almacenar los datos de la aplicación. Eloquent facilita el trabajo con las tablas de la base de datos, proporcionando un enfoque orientado a objetos para insertar, actualizar y eliminar registros de la base de datos, al tiempo que proporciona una interfaz simplificada para ejecutar consultas SQL complejas.

46. ​​¿Qué es la aceleración y cómo implementarla en Laravel?

La limitación es controlar el consumo de recursos utilizados por una instancia de aplicación, un arrendatario individual o un servicio completo. En Laravel, usamos throttle middleware para limitar la cantidad de tráfico para una ruta determinada o un grupo de rutas. El acelerador de middleware acepta dos parámetros que determinan la cantidad máxima de solicitudes que se pueden realizar en una cantidad determinada de minutos.

47. ¿Qué son las fachadas?

Las fachadas proporcionan una interfaz "estática" para las clases que están disponibles en el contenedor de servicios de la aplicación. Laravel viene con muchas fachadas que brindan acceso a casi todas las características de Laravel. Las fachadas de Laravel sirven como "proxies estáticos" para las clases base en el contenedor de servicios, brindando el beneficio de una sintaxis expresiva y concisa mientras mantienen una mayor capacidad de prueba y flexibilidad que los métodos estáticos tradicionales. Todas las fachadas de Laravel se definen en el espacio de nombres IlluminateSupportFacades. Así podemos acceder fácilmente a la fachada.

48. ¿Qué son los eventos en Laravel?

Un evento es cualquier cosa que ha sucedido o ha tenido lugar. De manera similar, en Laravel, los eventos son solo formas de notificar a su aplicación que se ha producido una acción. Los eventos se pueden enviar a cualquier parte de su aplicación, como controlador, modelo, middleware o incluso en archivos blade. Un evento puede tener varios oyentes asignados y, cuando se envía, todas las clases de oyentes se ejecutarán secuencialmente en el orden en que están asignadas.

Entonces, si se activa un evento, la aplicación puede realizar múltiples tareas activando diferentes oyentes.

Para crear una clase de evento, use el comando make: event craft:

php artesanal hacer: evento

Este comando crea una nueva clase en la carpeta appEvents de su aplicación y eso es todo lo que necesita para crear una clase de evento.

Otra forma de crear eventos es registrar eventos en la clase EventServiceProvider y luego ejecutar:

evento artesanal php: generar

Este comando busca en la clase EventServiceProvider y genera los eventos y oyentes que faltan en función del registro.

49. ¿Explica el inicio de sesión en Laravel?

El registro de Laravel se basa en "canales". Cada canal representa una forma específica de escribir información en los registros. Debajo del capó, Laravel usa la biblioteca Monolog, que brinda soporte para una variedad de poderosos controladores de registro. Laravel facilita la configuración de estos controladores, lo que le permite mezclarlos y combinarlos para personalizar el manejo de registros de su aplicación. Todas las opciones de configuración para registrar el comportamiento de su aplicación se almacenan en el archivo de configuración config/logging.php.

50. ¿Qué es la localización en Laravel?

Las funciones de localización de Laravel brindan una forma conveniente de cargar cadenas en diferentes idiomas, lo que le permite admitir múltiples idiomas en su aplicación fácilmente. Hay dos formas en Laravel con las que podemos hacer traducciones de cadenas. Primero, las cadenas de idioma se pueden almacenar en archivos en el directorio lang. Dentro de este directorio, puede haber subdirectorios para cada idioma compatible con la aplicación. Este es el enfoque que usa Laravel para administrar cadenas de traducción para las funciones integradas de Laravel

51. ¿Qué son las solicitudes en Laravel?

La clase Laravel IlluminateHttpRequest proporciona una forma orientada a objetos de interactuar con la solicitud HTTP actual que está procesando su aplicación, así como recuperar la entrada, las cookies y los archivos que se enviaron con la solicitud. Para obtener una instancia de la solicitud HTTP actual a través de la inyección de dependencia, debe escribir una sugerencia de la clase IlluminateHttpRequest en su ruta o método de cierre del controlador. El contenedor de servicios de Laravel inyectará automáticamente la instancia de solicitud entrante.

52. ¿Cómo hacer una solicitud de validación en Laravel?

Usaremos el método de validación proporcionado por el objeto IlluminateHttpRequest para validar una solicitud. Si pasan las reglas de validación, su código se ejecutará normalmente; sin embargo, si la validación falla, se lanzará una IlluminateValidationValidationException y la respuesta de error correcta se enviará automáticamente al usuario.

Es posible que desee crear una "solicitud de formulario" para escenarios de autenticación más complejos. Las solicitudes de formulario son clases de solicitud personalizadas que encapsulan su propia lógica de autenticación y autorización. Para crear una clase de solicitud de formulario, puede usar el comando make: request Artisan CLI:

php artesanal hacer: solicitud StorePostRequest

53. ¿Qué es un contenedor de servicios en Laravel?

El contenedor de servicios de Laravel es una herramienta poderosa para administrar dependencias de clases y realizar la inyección de dependencias. Un contenedor de servicios es como un contenedor donde definimos cómo se debe resolver la dependencia. Necesitamos registrar las dependencias con el contenedor de servicios durante la inicialización del marco, y el mejor lugar para hacerlo es con el proveedor de servicios.

54. ¿Qué es un Proveedor de Servicios?

Los proveedores de servicios en una aplicación laravel son el lugar central donde se implementa la aplicación. Esto significa que los servicios principales de laravel y los servicios, las clases y las dependencias de nuestra aplicación se inyectan en el contenedor de servicios a través de los proveedores. Laravel proporciona un comando artesanal para crear un proveedor de servicios.

php crafty make:proveedor MyServiceProvider

Este comando crea un proveedor de servicios en el directorio App/Providers/ llamado MyServiceProvider. Por convención de Laravel, agregamos ServiceProvider con el nombre de la clase cada vez que se crea una nueva clase de proveedor para que podamos decir fácilmente que este archivo en particular es del tipo ServiceProvider.

55. ¿Qué es el método de registro y arranque en la clase Proveedor de servicios?

Los proveedores de servicios son el punto central de implementación de todas las aplicaciones de Laravel. Sus aplicaciones personalizadas y todos los servicios principales de Laravel se implementan a través de proveedores de servicios.

Dentro del método de registro, podemos vincular cosas al contenedor de servicios. Dentro de cualquiera de los métodos de su proveedor de servicios, siempre tenemos acceso a la propiedad $app, que proporciona acceso al contenedor de servicios.

El método de arranque ayuda a registrar el compositor de vistas con nuestro proveedor de servicios. Este método se llama después de que se hayan registrado todos los demás proveedores de servicios, lo que significa que tiene acceso a todos los demás servicios que ha registrado el marco.

56. ¿Cómo definir rutas en Laravel?

Todas las rutas de Laravel se definen en sus archivos de rutas, que se encuentran en el directorio de rutas. AppProvidersRouteServiceProvider de la aplicación carga automáticamente los archivos. El archivo route/web.php define las rutas que son para su interfaz web. A estas rutas se les asigna un grupo de middleware web que proporciona estado de sesión y funciones de protección CSRF. Las rutas en route/api.php no tienen estado y se les asigna un grupo de API de middleware.

57. ¿Qué son las rutas nombradas?

Las rutas con nombre son una característica importante dentro de Laravel. Le permite referenciar rutas al generar URL o redirigir a rutas específicas. En resumen, podemos decir que el nombramiento de rutas es una forma de dar un apodo a una ruta.

Todas las rutas de Laravel se definen en sus archivos de rutas, que se encuentran en el directorio de rutas. El AppProvidersRouteServiceProvider de su aplicación carga automáticamente estos archivos. El archivo route/web.php define las rutas que son para su interfaz web. A estas rutas se les asigna un grupo de middleware web que proporciona estado de sesión y funciones de protección CSRF. Las rutas en route/api.php no tienen estado y se les asigna un grupo de API de middleware.

58. ¿Qué son los grupos de rutas?

Los grupos de rutas le permiten compartir atributos de ruta, como middleware o espacios de nombres, en muchas rutas sin definir esos atributos en cada ruta. Los atributos compartidos se especifican en un formato de matriz como el primer parámetro del método Route::group.

59. ¿Qué es Middleware y cómo crear uno en Laravel?

El middleware actúa como un puente entre la solicitud y la respuesta. Este es un tipo de mecanismo de filtrado. Laravel incluye un middleware que verifica si el usuario de la aplicación está autenticado o no. Si el usuario está autenticado, se redirigirá a la página de inicio, de lo contrario, si no, se redirigirá a la página de inicio de sesión.

El middleware se puede crear ejecutando el siguiente comando:

php artesanal hacer: middleware

Reemplazar con el nombre de su middleware. Puede ver el middleware que crea en el directorio app/Http/Middleware.

60. ¿Cómo crear una ruta para recursos en laravel?

Para crear una ruta a un método de controlador, podemos usar el siguiente comando:

utilizar AppHttpControllersUserController;

Route::get('/usuario/{id}', [UserController::class, 'show']);

Cuando una solicitud entrante coincide con el URI de ruta especificado, se invocará el método show en la clase AppHttpControllersUserController y se pasarán los parámetros de ruta al método.

61. ¿Qué es la inyección de dependencia en Laravel?

La inyección de dependencia es un método utilizado para desconectar las dependencias de clase codificadas de forma rígida. Las dependencias se inyectan en tiempo de ejecución, lo que permite una mayor flexibilidad porque la ejecución de las dependencias puede ser fácilmente recibida. En Laravel, la inyección de dependencia es el proceso de inyectar dependencias de clase en una clase utilizando un método constructor o setter. Esto permite que su código se vea más limpio y se ejecute más rápido.

62. ¿Qué son las colecciones?

La colección Laravel es una característica útil del marco Laravel. Una colección funciona como una matriz de PHP, pero es más conveniente. La clase de colección se encuentra en IlluminateSupportCollection. Una colección le permite crear una cadena de métodos para mapear o reducir campos. No se puede cambiar y se devuelve una nueva colección cuando se llama al método de colección. Es un contenedor de API para funciones de matriz de PHP, y se puede generar una colección a partir de una matriz.

63. ¿Qué son los contratos?

Los "contratos" de Laravel son un conjunto de interfaces que definen los servicios básicos proporcionados por el marco. Por ejemplo, el contrato IlluminateContractsQueueQueue define los métodos necesarios para poner en cola los trabajos, mientras que el contrato IlluminateContractsMailMailer define los métodos necesarios para enviar correos electrónicos. Laravel proporciona una implementación correspondiente para cada marco.

64. ¿Qué son las colas en Laravel?

Las colas de Laravel proporcionan una API unificada para una variedad de backends de cola diferentes, como Beanstalk, Amazon SQS, Redis o incluso bases de datos relacionales. Las colas le permiten retrasar el procesamiento de una tarea que requiere mucho tiempo, como enviar un correo electrónico, hasta más tarde. Posponer estas tareas que consumen mucho tiempo acelerará drásticamente las solicitudes web a su aplicación.

65. ¿Qué son los accesores y mutadores?

Los accesores y mutadores le permiten dar formato a los atributos de Eloquent al recuperarlos del modelo o establecer su valor. Por ejemplo, es posible que desee utilizar el módulo de cifrado de Laravel para cifrar un valor almacenado en la base de datos y luego descifrar automáticamente el atributo cuando acceda a él en el modelo Eloquent. Además de sus propios accesores y mutadores, Eloquent puede enviar automáticamente datos a instancias de Carbon o incluso campos de texto a JSON.

punto_img

Información más reciente

punto_img