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.