Cheat Sheet

Resumen de acciones de laravel

Instalación:

Debemos tener instalado composer

**Instalamos

el instalador de proyectos de laravel
Ahora ya podemos crear un proyecto nuevo de laravel
1
laravel new NuevoProyectoLaravel

composer create-project --prefer-dist laravel/laravel project-name
2. Artisan Commands:
 Create a controller:

bash
Copy code
php artisan make:controller ControllerName
Create a model:

bash
Copy code
php artisan make:model ModelName
Run migrations:

bash
Copy code
php artisan migrate
3. Routing:
 Define a route in routes/web.php:
 php
 Copy code
 Route::get('/route', 'ControllerName@method');
4. Views:
 Blade template:
 php
 Copy code
<p>{{ $variable }}</p>
5. Database:
Eloquent ORM:

php
Copy code
$model = ModelName::find($id);
Query Builder:

php
Copy code
$results = DB::table('table')->get();
6. Middleware:
 Apply middleware in routes:
 php
 Copy code
 Route::get('/admin', 'Controller@method')->middleware('auth');
7. Authentication:
 Create authentication scaffolding:
 bash
 Copy code
 php artisan make:auth
8. Validation:
 Validate requests in controllers:
 php
 Copy code
 $validatedData = $request->validate([
 'field' => 'required|numeric',
 ]);
9. Testing:
 Run tests:
 bash
 Copy code
 php artisan test
10. Artisan Tinker:
  Interact with your application:
  bash
  Copy code
  php artisan tinker

## 
## Rutas
## Artisan
## MVC

1 - Helper en Laravel

Helpers en Laravel

¿Qué son los Helpers?

Helpers en Laravel son funciones globales que proporcionan una manera conveniente y eficiente para realizar tareas comunes en la programación con Laravel. Estas funciones están disponibles globalmente en cualquier parte de tu aplicación.

Grupos Principales de Helpers

Helpers de Rutas

  • route(): Genera una URL para una ruta nombrada.
  • url(): Genera una URL absoluta.
  • action(): Genera una URL para un controlador y método específicos.

Helpers de Strings

  • str_*: Varias funciones para manipular strings.
  • __(): Traduce el texto dado según tu localización.

Helpers de Arrays

  • array_*: Funciones para manipular arrays.
  • head(): Devuelve el primer elemento de un array.
  • last(): Devuelve el último elemento de un array.

Helpers de Vistas

  • view(): Genera una nueva vista.
  • response(): Crea una instancia de respuesta.

Helpers de URL

  • asset(): Genera una URL para un asset usando el esquema de URL actual.
  • secure_asset(): Genera una URL segura para un asset.

Helpers Generales

  • app(): Accede a la instancia del contenedor de servicios.
  • config(): Obtiene o establece valores de configuración.

Crear un helper

Creamos una carpeta en app:

app\helper

Facade Vs Helper

https://medium.com/@azimidev/laravel-facades-vs-helpers-understanding-the-differences-and-use-cases-007d41a1b257

Laravel Facades vs. Helpers: Understanding the Differences and Use Cases

img.png

When developing with Laravel, you’ll often come across two powerful tools: Facades and Helpers. Both are designed to simplify your code and make it more readable, but they serve different purposes and are used in different scenarios. In this article, we’ll explore what Laravel Facades and Helpers are, their differences, and when to use each.

What are Laravel Facades? Facades provide a “static” interface to classes that are available in the application’s service container. They allow you to call methods in a class without having to instantiate them, making your code cleaner and more concise.

Example: Using Facades

1
2
3
4
use Illuminate\Support\Facades\Cache;

Cache::put('key', 'value', $minutes);
$value = Cache::get('key');
Here, Cache is a facade that provides access to the caching service in Laravel.

1
2
3
$value = array_get($array, 'key', 'default');
$slug = str_slug('Laravel Facades vs Helpers');
$url = route('home');
Helpers are designed to be straightforward to use, offering quick solutions for common tasks.

Key Differences Implementation:

Facades: Act as static proxies to underlying classes in the service container. Helpers: Simple, procedural functions. Dependency Injection:

Facades: Work with Laravel’s service container, making it easier to manage dependencies and mock services in tests. Helpers: Do not support dependency injection, which can make testing more challenging. Readability and Intent:

Facades: This can make code more readable by clearly indicating, which service is being used. Helpers: Provide a quick and dirty way to perform tasks, which can sometimes lead to less readable code. When to Use Facades Dependency Injection: When you need to leverage dependency injection, especially in testing. Readability: When you want to make it clear which service is being utilized. Complex Logic: For more complex interactions with Laravel services. Example: Using a Facade in a Controller

1
2
3
4
5
6
use Illuminate\Support\Facades\Mail;

public function sendWelcomeEmail($user)
{
Mail::to($user->email)->send(new WelcomeEmail($user));
}

When to Use Helpers Simplicity: For simple tasks where dependency injection is not necessary. Quick Solutions: When you need a quick and straightforward solution. Performance: When you want to avoid the overhead of the service container. Example: Using Helpers in a Blade Template

1
2
<p>{{ ucfirst($user->name) }}</p>
<p>{{ route('profile', ['id' => $user->id]) }}</p>
Conclusion Both Facades and Helpers have their place in Laravel development. Understanding when to use each can help you write cleaner, more maintainable code. Use Facades when you need the power of the service container and dependency injection. Use Helpers for quick, simple tasks. By leveraging both appropriately, you can make the most out of Laravel’s features and improve your development workflow.

1.1 - Vistas

Helpers de Vistas en Laravel

¿Qué son los Helpers de Vistas?

Los helpers de vistas en Laravel son funciones que facilitan el manejo y la renderización de las vistas. Estos helpers permiten una interacción más simple y eficiente con las plantillas Blade del framework.

Cómo helper de vistas, tenemos la función view() de Laravel.

Este helper retorna una instancia de una vista .

Esta función no solo carga y retorna la vista especificada, sino que también permite el encadenamiento de métodos adicionales disponibles en la instancia del objeto de la vista .

Esto facilita la manipulación y personalización de la vista antes de que se envíe al navegador.

Principales Helpers de Vistas

view()

  • Genera una nueva vista.
  • Ejemplo: view('welcome', ['data' => $data]) carga la vista welcome con datos.

view()->make()

  • Similar a view(), pero con una sintaxis alternativa.
  • Ejemplo: view()->make('welcome', ['data' => $data]).

view()->exists()

  • Comprueba si una vista existe.
  • Ejemplo: view()->exists('welcome') devuelve true si la vista welcome existe.

view()->first()

  • Intenta renderizar la primera vista existente de una lista.
  • Ejemplo: view()->first(['custom', 'default']) carga la primera vista que exista entre custom y default.

view()->share()

  • Comparte una variable en todas las vistas.
  • Ejemplo: view()->share('key', 'value') hace que key esté disponible globalmente en todas las vistas.

view()->composer()

  • Asigna datos a una vista cada vez que se carga.
  • Ejemplo: view()->composer('welcome', function ($view) { ... }).

view()->creator()

  • Similar a view()->composer(), pero se ejecuta cuando la vista se crea.
  • Ejemplo: view()->creator('welcome', function ($view) { ... }).

Estos helpers son fundamentales para la gestión de vistas en Laravel, permitiendo un flujo de trabajo más ágil y una mayor flexibilidad en la renderización y el manejo de datos en las vistas.

  • Ejemplo: url()->previous()

1.2 - Rutas

Helpers de Laravel para Rutas

Laravel proporciona varios helpers útiles para trabajar con rutas.
Estos son algunos de los más importantes:

route('nombre_ruta')

  • Genera una URL para una ruta nombrada.
  • Podemos pasar parámetros a la ruta como un array asociativo [‘variable’=>valor]
route('user.profile', ['id' => 1]);

url('path')

  • Genera una URL absoluta para el path dado.
  • Ejemplo: url('/user')

redirect()->route('nombre_ruta')

  • Redirige a una ruta nombrada.
  • Ejemplo: redirect()->route('home')

action('NombreControlador@metodo')

  • Genera una URL para el controlador y método especificados.
  • Ejemplo: action('UserController@show', ['id' => 1])

back()

  • Redirige al usuario a la ubicación anterior.
  • Ejemplo: return back()

current()

  • Obtiene la URL actual.
  • Ejemplo: url()->current()

previous()

  • Obtiene la URL previa a la actual.
  • Ejemplo: url()->previous()

1.3 - Request en Laravel

Helpers y métodos para obtener datos de la Request en Laravel

En Laravel podemos acceder a los datos de la petición HTTP usando:

  • El helper global request()
  • La fachada Request (Illuminate\Support\Facades\Request)
  • Inyección de la clase Illuminate\Http\Request

A continuación, los métodos más usados:

request('clave')

  • Obtiene el valor de la clave indicada, buscando en GET, POST, JSON, etc.
  • Ejemplo:
    request('family_id');

request()->input('clave')

  • Equivalente a request('clave').
  • Ejemplo:
    request()->input('family_id');

request()->query('clave')

  • Obtiene el valor solo de la query string (?param=valor).
  • Ejemplo:
    request()->query('family_id');

request()->post('clave')

  • Obtiene el valor solo del cuerpo POST.
  • Ejemplo:
    request()->post('family_id');

request()->all()

  • Obtiene todos los datos de la petición (GET, POST, JSON, etc.)
  • Ejemplo:
    request()->all();

request()->only([...])

  • Obtiene solo las claves especificadas.
  • Ejemplo:
    request()->only(['name', 'email']);

request()->except([...])

  • Obtiene todos los datos excepto las claves indicadas.
  • Ejemplo:
    request()->except(['password']);

request()->has('clave')

  • Devuelve true si la clave existe (aunque esté vacía).
  • Ejemplo:
    request()->has('family_id');

request()->filled('clave')

  • Devuelve true si la clave existe y no está vacía.
  • Ejemplo:
    request()->filled('family_id');

request()->missing('clave')

  • Devuelve true si la clave no existe o es null.
  • Ejemplo:
    request()->missing('family_id');

request()->ajax()

  • Devuelve true si la petición es AJAX.
  • Ejemplo:
    request()->ajax();

request()->isJson()

  • Devuelve true si la petición es de tipo JSON.
  • Ejemplo:
    request()->isJson();

request()->method()

  • Devuelve el método HTTP (GET, POST, PUT…).
  • Ejemplo:
    request()->method();

request()->isMethod('metodo')

  • Comprueba si el método HTTP es el indicado.
  • Ejemplo:
    request()->isMethod('post');

request()->fullUrl()

  • Devuelve la URL completa con query string.
  • Ejemplo:
    request()->fullUrl();

request()->url()

  • Devuelve la URL sin query string.
  • Ejemplo:
    request()->url();

request()->path()

  • Devuelve solo el path de la URL.
  • Ejemplo:
    request()->path();

Uso con la fachada Request

Podemos hacer lo mismo usando la fachada:

use Illuminate\Support\Facades\Request;

Request::input('family_id');
Request::query('family_id');
Request::post('family_id');
Request::all();
Request::only(['name', 'email']);
Request::fullUrl();

📌 Nota: Tanto request() como Request usan internamente el mismo objeto Illuminate\Http\Request.


Tabla resumen de métodos principales

Método Origen de datos Descripción Ejemplo
request('clave') GET, POST, JSON Busca la clave en todos los datos de la petición request('id')
input('clave') GET, POST, JSON Igual que request('clave') request()->input('id')
query('clave') Query string (?param=) Solo busca en los parámetros de la URL request()->query('page')
post('clave') Cuerpo POST Solo busca en el contenido del formulario o cuerpo POST request()->post('email')
all() GET, POST, JSON Devuelve todos los datos request()->all()
only([...]) GET, POST, JSON Devuelve solo las claves indicadas request()->only(['name'])
except([...]) GET, POST, JSON Devuelve todos excepto las claves indicadas request()->except(['password'])
has('clave') GET, POST, JSON Existe la clave (aunque esté vacía) request()->has('name')
filled('clave') GET, POST, JSON Existe y tiene valor no vacío request()->filled('name')
missing('clave') GET, POST, JSON No existe o está vacía request()->missing('token')
ajax() Encabezado X-Requested-With Comprueba si la petición es AJAX request()->ajax()
isJson() Cabecera Content-Type Comprueba si es JSON request()->isJson()
method() Método HTTP Devuelve el método usado (GET, POST, etc.) request()->method()
isMethod('metodo') Método HTTP Comprueba si el método es el indicado request()->isMethod('post')
fullUrl() URL completa Devuelve la URL con query string request()->fullUrl()
url() URL base Devuelve la URL sin query string request()->url()
path() URL base Devuelve solo el path request()->path()

2 - Artisan (CLI)

Introducción a Artisan en Laravel

Artisan es la interfaz de línea de comandos (CLI) incluida con Laravel.
Ofrece una variedad de comandos útiles para realizar tareas comunes de desarrollo y mantenimiento de aplicaciones. La palabra artisan viene de artesano intentando reflejar la sencillez y eficiencia de su utilización

Características principales

  • Generación de Código: Artisan facilita la creación de modelos, controladores, y otras clases necesarias en aplicaciones Laravel.
  • Migraciones de Bases de Datos: Permite manejar fácilmente las migraciones de bases de datos.
  • Tareas Programadas: Proporciona una forma sencilla de programar tareas que deben ejecutarse periódicamente.
  • Entorno de Pruebas: Ofrece comandos para ejecutar pruebas y otros chequeos.

Artisan es una herramienta esencial en el desarrollo de Laravel , que aumenta la eficiencia y simplifica muchas tareas de programación.

Creando un comando en artisan

Podemos crear comandos presonalizados para trabajar en nuestros proyectos. Para ello seguiremos las siguientes acciones

Creando un comando con artisan
;Creamos un fichero con command con una clase para especificar el comando
1
php artisan make:command ClearLog
![Carpeta de comando](folderCommand.png)

Ejemplo de Uso

Para ver una lista de todos los comandos disponibles, puedes ejecutar:

php_ artisan list

Clasificación de los Principales Comandos de Artisan en Laravel

Clasificación de los Principales Comandos de Artisan en Laravel


Artisan, el CLI de Laravel, ofrece una amplia gama de comandos útiles. A continuación se presentan algunos de los comandos más importantes agrupados por su funcionalidad.

Comandos de Generación de Código

Estos comandos ayudan en la creación rápida de clases comúnmente usadas.

  • Controladores: php artisan make:controller
  • Modelos: php artisan make:model
  • Migraciones: php artisan make:migration
  • Seeders: php artisan make:seeder
  • Factories: php artisan make:factory
  • Eventos: php artisan make:event
  • Listeners: php artisan make:listener
  • Middlewares: php artisan make:middleware

Comandos de Base de Datos y Migraciones

Utilizados para gestionar bases de datos y ejecutar migraciones.

  • Ejecutar Migraciones: php artisan migrate
  • Revertir Migraciones: php artisan migrate:rollback
  • Refrescar Migraciones: php artisan migrate:refresh
  • Resetear Migraciones: php artisan migrate:reset

Comandos de Tareas Programadas

Para manejar tareas programadas o cron jobs.

  • Ejecutar Tareas Programadas: php artisan schedule:run

Comandos de Caché

Estos comandos son útiles para gestionar diferentes tipos de caché.

  • Limpiar Caché: php artisan cache:clear
  • Limpiar Caché de Configuración: php artisan config:clear
  • Limpiar Caché de Rutas: php artisan route:clear
  • Limpiar Caché de Vistas: php artisan view:clear

Comandos de Pruebas

Para ejecutar pruebas unitarias y de integración.

  • Ejecutar Pruebas: php artisan test

Comandos de Rutas

Para trabajar con rutas.

  • Listar Rutas: php artisan route:list

Otros Comandos Útiles

  • Limpiar Cache de la Aplicación: php artisan optimize
  • Crear Enlace Simbólico para Almacenamiento: php artisan storage:link

3 - Directivas Blade

Directivas de Blade en Laravel

¿Qué son las Directivas de Blade?

Las directivas de Blade en Laravel son instrucciones especiales en las plantillas Blade que proporcionan una forma sencilla y expresiva de:

  • Controlar la lógica de las vistas
  • Permiten incorporar estructuras de control de PHP
  • Funcionalidades específicas de Laravel directamente en las plantillas Blade.

Principales Directivas de Blade

Estructuras de Control

  • @if, @elseif, @else : Condicionales.
  • @foreach, @for, @while : Bucles.
  • @switch, @case, @break, @default : Estructura switch.

Autenticación y Autorización

  • @auth, @guest : Directivas para comprobar si el usuario está autenticado o no.
  • @can, @cannot : Directivas para comprobar permisos basados en roles.

Inclusión y Herencia de Plantillas

  • @extends : Define la plantilla padre.
  • @section, @yield : Define y muestra una sección de contenido.
  • @include : Incluye otra plantilla Blade.

Otros

  • @csrf : Genera un campo de token CSRF.
  • @method : Define un método HTTP para formularios.
  • @slot, @component : Trabajar con componentes y slots.
  • @php, @endphp : Ejecutar código PHP directamente.

Estas directivas simplifican la implementación de lógica compleja en las vistas, manteniendo el código limpio y fácil de leer. Blade convierte estas directivas en código PHP apropiado durante el proceso de renderizado de las vistas.

4 - Carbon (fechas

Introducción a Carbon

Carbon es una clase en Laravel que nos permite trabajar con fechas de forma sencilla e intuitiva.

A continuación mostramos un cheatsheet de sus principales usos.

Para referencia completa: Documentación Oficial de Carbon


Crear un objeto de la clase

1
2
3
4
5
6
7
// Crear una fecha con la fecha y hora actual
$fecha = new Carbon();
echo $fecha; // Fecha actual en formato YYYY-MM-DD HH:MM:SS

// Crear una fecha específica
$fecha = new Carbon('1969-12-27');
echo $fecha; // 1969-12-27 00:00:00
Otras formas de crear fechas
### **Usando `Carbon::create()`** Este método permite definir una fecha con mayor precisión:
1
2
3
// Crear una fecha específica (Año, Mes, Día, Hora, Minuto, Segundo)
$fecha = Carbon::create(2024, 12, 25, 15, 30, 45);
echo $fecha; // 2024-12-25 15:30:45
--- ### **Usando `Carbon::createFromFormat()`** Permite crear fechas desde un formato específico:
1
2
$fecha = Carbon::createFromFormat('d/m/Y H:i:s', '31/01/2025 14:00:00');
echo $fecha; // 2025-01-31 14:00:00
--- ### **Usando `Carbon::parse()`** Convierte una cadena de texto en una fecha:
1
2
3
4
5
6
7
// Convertir texto en fecha
$fecha = Carbon::parse('next Monday');
echo $fecha; // 2025-02-03 (si hoy es domingo)

// Desde un timestamp
$fecha = Carbon::createFromTimestamp(1700000000);
echo $fecha; // Fecha correspondiente al timestamp
--- ### **Usando `CarbonImmutable` (Fechas inmutables)** Si necesitas fechas inmutables que no cambien con `add()` o `sub()`, usa **CarbonImmutable**:
1
2
3
4
use Carbon\CarbonImmutable;

$fecha = CarbonImmutable::now();
echo $fecha->addDays(5); // Nueva fecha sin modificar la original

Obtener la fecha actual

1
2
$now = Carbon::now();
echo $now; // 2025-02-02 15:30:45

Formatear fechas

1
2
3
4
5
6
7
8
// Formatos comunes
echo $fecha->toDateString();     // 2025-02-02
echo $fecha->toTimeString();     // 15:30:45
echo $fecha->toDateTimeString(); // 2025-02-02 15:30:45

// Formato personalizado
echo $fecha->format('d/m/Y');    // 02/02/2025
echo $fecha->format('l, d F Y'); // Sunday, 02 February 2025

Operaciones con Fechas

Operaciones con fechas
### Sumar Fechas
1
2
$fecha = Carbon::now()->addDays(10);
echo $fecha; // Fecha +10 días
### Restar Fechas
1
2
$fecha = Carbon::now()->subMonths(1);
echo $fecha; // Fecha -1 mes
### Diferencia entre Fechas
1
2
3
4
5
$fecha1 = Carbon::create(2025, 5, 1);
$fecha2 = Carbon::create(2025, 6, 1);

echo $fecha1->diffInDays($fecha2); // Diferencia en días
echo $fecha1->diffForHumans(); // "hace 1 mes"

Comparación de Fechas

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
$fecha1 = Carbon::create(2025, 5, 1);
$fecha2 = Carbon::create(2025, 6, 1);

if ($fecha1->equalTo($fecha2)) {
echo "Son iguales";
}

if ($fecha1->isToday()) {
echo "La fecha es hoy";
}

if ($fecha1->isFuture()) {
echo "La fecha está en el futuro";
}

Manejo de Zonas Horarias

1
2
3
4
5
6
$fecha = Carbon::now('Europe/Madrid');
echo $fecha; // 2025-02-02 16:30:45 (hora de Madrid)

// Convertir a UTC
$fechaUtc = $fecha->timezone('UTC');
echo $fechaUtc; // 2025-02-02 15:30:45 (UTC)

Fechas en Español

1
2
3
4
5
6
setlocale(LC_TIME, 'es_ES.UTF-8');
Carbon::setLocale('es');

$fecha = Carbon::now();
echo $fecha->translatedFormat('l, d F Y'); // domingo, 02 febrero 2025
echo $fecha->diffForHumans(); // "hace 1 segundo"

Helpers de fechas en Laravel

1. now() → Equivalente a Carbon::now()

Devuelve la fecha y hora actual:

1
2
$fecha = now();
echo $fecha; // 2025-02-02 15:30:45

2. today() → Equivalente a Carbon::today()

Devuelve la fecha actual con hora 00:00:00:

1
2
$fecha = today();
echo $fecha; // 2025-02-02 00:00:00

3. tomorrow() → Equivalente a Carbon::tomorrow()

Devuelve la fecha de mañana con hora 00:00:00:

1
2
$fecha = tomorrow();
echo $fecha; // 2025-02-03 00:00:00

4. yesterday() → Equivalente a Carbon::yesterday()

Devuelve la fecha de ayer con hora 00:00:00:

1
2
$fecha = yesterday();
echo $fecha; // 2025-02-01 00:00:00

5. carbon() → Instancia de Carbon desde un valor

Convierte un timestamp, string o DateTime en un objeto Carbon:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
// Desde una fecha en string
$fecha = carbon('2025-05-10');
echo $fecha; // 2025-05-10 00:00:00

// Desde un timestamp
$fecha = carbon(1700000000);
echo $fecha; // Fecha correspondiente al timestamp

// Desde un DateTime
$fecha = carbon(new DateTime());
echo $fecha; // Fecha actual

Comparación rápida de helpers

Helper Descripción Equivalente Carbon
now() Fecha y hora actual Carbon::now()
today() Fecha actual a las 00:00:00 Carbon::today()
tomorrow() Fecha de mañana a las 00:00:00 Carbon::tomorrow()
yesterday() Fecha de ayer a las 00:00:00 Carbon::yesterday()
carbon() Convierte cualquier valor en Carbon Carbon::parse() o Carbon::createFromFormat()

Estos helpers simplifican el uso de fechas en Laravel sin necesidad de escribir Carbon::now(), haciéndolo más limpio y elegante. 🚀

📌 Referencias

5 - Desplegar en hosgint

Despliegue en un proyecto

5.1 - Rutas

Helpers de Laravel para Rutas

Laravel proporciona varios helpers útiles para trabajar con rutas.
Estos son algunos de los más importantes:

route('nombre_ruta')

  • Genera una URL para una ruta nombrada.
  • Podemos pasar parámetros a la ruta como un array asociativo [‘variable’=>valor]
route('user.profile', ['id' => 1]);

url('path')

  • Genera una URL absoluta para el path dado.
  • Ejemplo: url('/user')

redirect()->route('nombre_ruta')

  • Redirige a una ruta nombrada.
  • Ejemplo: redirect()->route('home')

action('NombreControlador@metodo')

  • Genera una URL para el controlador y método especificados.
  • Ejemplo: action('UserController@show', ['id' => 1])

back()

  • Redirige al usuario a la ubicación anterior.
  • Ejemplo: return back()

current()

  • Obtiene la URL actual.
  • Ejemplo: url()->current()

previous()

  • Obtiene la URL previa a la actual.
  • Ejemplo: url()->previous()

5.2 - Vistas

Helpers de Vistas en Laravel

¿Qué son los Helpers de Vistas?

Los helpers de vistas en Laravel son funciones que facilitan el manejo y la renderización de las vistas. Estos helpers permiten una interacción más simple y eficiente con las plantillas Blade del framework.

Cómo helper de vistas, tenemos la función view() de Laravel.

Este helper retorna una instancia de una vista .

Esta función no solo carga y retorna la vista especificada, sino que también permite el encadenamiento de métodos adicionales disponibles en la instancia del objeto de la vista .

Esto facilita la manipulación y personalización de la vista antes de que se envíe al navegador.

Principales Helpers de Vistas

view()

  • Genera una nueva vista.
  • Ejemplo: view('welcome', ['data' => $data]) carga la vista welcome con datos.

view()->make()

  • Similar a view(), pero con una sintaxis alternativa.
  • Ejemplo: view()->make('welcome', ['data' => $data]).

view()->exists()

  • Comprueba si una vista existe.
  • Ejemplo: view()->exists('welcome') devuelve true si la vista welcome existe.

view()->first()

  • Intenta renderizar la primera vista existente de una lista.
  • Ejemplo: view()->first(['custom', 'default']) carga la primera vista que exista entre custom y default.

view()->share()

  • Comparte una variable en todas las vistas.
  • Ejemplo: view()->share('key', 'value') hace que key esté disponible globalmente en todas las vistas.

view()->composer()

  • Asigna datos a una vista cada vez que se carga.
  • Ejemplo: view()->composer('welcome', function ($view) { ... }).

view()->creator()

  • Similar a view()->composer(), pero se ejecuta cuando la vista se crea.
  • Ejemplo: view()->creator('welcome', function ($view) { ... }).

Estos helpers son fundamentales para la gestión de vistas en Laravel, permitiendo un flujo de trabajo más ágil y una mayor flexibilidad en la renderización y el manejo de datos en las vistas.

  • Ejemplo: url()->previous()

6 - Desplegar en hosgint

Uso práctico de bases de datos: Facade Schema

  • Permite ver la estructura de una tabla
use Iluminate\Schema\Facade
Schema::getColumnListing("nombre_tabla");
  • P.e. tabla specializatios:
Schema::getColumnListing("specializations");
= [
"id",
"name",
"families_id",
"created_at",
"updated_at",
]

7 - Laravel: Uso de la Facade File

Laravel: Uso de la Facade File

La facade File en Laravel permite manipular archivos de manera sencilla sin necesidad de utilizar directamente funciones de PHP como fopen, fwrite, o unlink.

Importación de la Facade

Antes de usarla, es necesario importar la clase:

1
use Illuminate\Support\Facades\File;

Escribir en un Archivo

Para escribir en un archivo, usamos File::put():

1
File::put(storage_path('logs/laravel.log'), 'Este es un nuevo contenido.');

Esto sobrescribe el contenido del archivo con el nuevo texto.

Añadir Contenido a un Archivo

Si queremos añadir contenido en lugar de sobrescribirlo, usamos File::append():

1
File::append(storage_path('logs/laravel.log'), "\nNueva línea de log.");

Leer el Contenido de un Archivo

Podemos leer el contenido de un archivo con File::get():

1
2
$contenido = File::get(storage_path('logs/laravel.log'));
echo $contenido;

Comprobar si un Archivo Existe

Para verificar si un archivo existe:

1
2
3
if (File::exists(storage_path('logs/laravel.log'))) {
echo "El archivo existe.";
}

Eliminar un Archivo

Si queremos eliminar un archivo:

1
File::delete(storage_path('logs/laravel.log'));

Conclusión

La facade File facilita la manipulación de archivos en Laravel, proporcionando una interfaz simple y elegante en comparación con las funciones nativas de PHP.

📌 Nota: Para operaciones avanzadas, Laravel también ofrece la facade Storage, que permite interactuar con sistemas de archivos locales y en la nube (como Amazon S3).


8 - Laravel: Uso de la Facade File

✅ Laravel Auth Cheatsheet (Facade & Helpers)

Autenticación usando el facade Auth y el helper auth()
(Válido para Laravel + Fortify)


🔐 Inicio y cierre de sesión

Código Descripción
Auth::login($user) Inicia sesión con el usuario indicado
Auth::logout() Cierra la sesión del usuario
Auth::attempt(['email' => ..., 'password' => ...]) Intenta iniciar sesión con credenciales
auth()->login($user) Igual que Auth::login() (helper)
auth()->logout() Igual que Auth::logout()
auth()->attempt([...]) Igual que Auth::attempt()

👤 Acceder al usuario autenticado

Código Descripción
Auth::user() Devuelve el usuario actual autenticado (o null)
auth()->user() Igual que arriba
Auth::id() Devuelve el ID del usuario autenticado
auth()->id() Igual que arriba
Auth::check() Devuelve true si hay un usuario autenticado
auth()->check() Igual que arriba
Auth::guest() Devuelve true si no hay usuario autenticado

🛡️ Proteger rutas

En tu archivo routes/web.php:

1
2
3
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', fn () => view('dashboard'));
});

O directamente:

1
Route::get('/dashboard', fn () => view('dashboard'))->middleware('auth');

🔁 Redirección después del login (Fortify)

En FortifyServiceProvider o en App\Providers\RouteServiceProvider:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
use Illuminate\Support\Facades\Redirect;

Fortify::redirects([
'login' => function () {
$role = auth()->user()->getRoleNames()->first();
return match ($role) {
'admin' => '/admin',
'teacher' => '/teacher',
'student' => '/student',
default => '/',
};
}
]);

También puedes usar la propiedad RouteServiceProvider::$redirectTo si usas Fortify con configuración clásica.


⚙️ Otros métodos útiles

Código Descripción
Auth::viaRemember() Comprueba si el usuario se autenticó con “recordarme”
auth()->viaRemember() Igual que arriba
auth()->setUser($user) Establece manualmente un usuario en la request (avanzado)

🧪 Ejemplo con Tinker

1
2
3
4
php artisan tinker
>>> $user = App\Models\User::find(1);
>>> Auth::login($user);
>>> Auth::user()->name;