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:
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

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:
- 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()->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()->isJson()
- Devuelve
true si la petición es de tipo JSON.
- Ejemplo:
request()->method()
- Devuelve el método HTTP (
GET, POST, PUT…).
- Ejemplo:
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()->url()
- Devuelve la URL sin query string.
- Ejemplo:
request()->path()
- Devuelve solo el path de la URL.
- Ejemplo:
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
|

Ejemplo de Uso
Para ver una lista de todos los comandos disponibles, puedes ejecutar:
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
|
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
Tip
Para obtener fechas en español, cambia la configuración de Carbon:
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
Documentación Oficial
Fuentes de Información
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;
|