Vamos a crear una página de tareas desde cero:
Vamos a crear una página de tareas desde cero:
1️⃣ Crear la Migración (La tabla en la base de datos)
php artisan make:model Tarea -mEsto crea:
app/Models/Tarea.php(El modelo)database/migrations/...create_tareas_table.php(La tabla)
2️⃣ Definir la estructura de la tabla
// En el archivo de migración public function up() { Schema::create('tareas', function (Blueprint $table) { $table->id(); $table->foreignId('user_id')->constrained(); $table->string('titulo'); $table->text('descripcion')->nullable(); $table->boolean('completada')->default(false); $table->timestamps(); }); }
3️⃣ Ejecutar la migración
php artisan migrate
4️⃣ Crear el Controlador con recursos
php artisan make:controller TareaController --resource5️⃣ Definir las Rutas
// routes/web.php Route::middleware(['auth'])->group(function () { Route::resource('tareas', TareaController::class); });
6️⃣ Modificar el Controlador
// app/Http/Controllers/TareaController.php public function index() { $tareas = Tarea::where('user_id', auth()->id())->get(); return view('tareas', compact('tareas')); } public function store(Request $request) { $tarea = Tarea::create([ 'user_id' => auth()->id(), 'titulo' => $request->titulo, 'descripcion' => $request->descripcion, ]); return redirect()->route('tareas.index'); }
💡 Parte 6: Trucos y Atajos para Principiantes
🔥 Atajos en el Navegador
Ctrl + Shift + R(Windows) oCmd + Shift + R(Mac): Recarga forzadaF12→ Network → Disable cache: Desactiva la caché (útil para desarrollo)
🔧 Comandos Útiles
# Ver todas las rutas disponibles php artisan route:list # Crear un controlador con métodos CRUD php artisan make:controller TareaController --resource # Crear un modelo con migración y controlador php artisan make:model Tarea -mcr # Limpiar la caché php artisan cache:clear php artisan config:clear php artisan view:clear # Reiniciar Vite (cuando los cambios no se ven) # En la terminal de npm run dev, presiona: r + Enter
📝 Errores Comunes y Soluciones
| Problema | Solución |
|---|---|
| "No se encuentra el componente" | Reinicia npm run dev |
| Los cambios no se ven | Ctrl+Shift+R (recarga forzada) |
| Error de puerto ocupado | php artisan serve --port=8001 |
| Error de compilación | npm install y luego npm run dev |
| Pantalla en blanco | Abre consola (F12) y mira los errores |
🎓 Parte 7: Ejercicio Práctico
Reto: Crea tu primera página con Vue
1. Crea el controlador:
php artisan make:controller MiPrimeraController
2. En el controlador:
// app/Http/Controllers/MiPrimeraController.php public function index() { return view('mi-primera', [ 'mensaje' => '¡Hola, mundo!', 'usuario' => auth()->user() ]); }
3. Crea la ruta:
// routes/web.php Route::get('/mi-primera', [MiPrimeraController::class, 'index']);
4. Crea la vista Blade:
{{-- resources/views/mi-primera.blade.php --}}
<!DOCTYPE html>
<html>
<head>
@vite('resources/css/app.css')
</head>
<body>
<div id="app">
<mi-componente mensaje="{{ $mensaje }}" :usuario='@json($usuario)'></mi-componente>
</div>
@vite('resources/js/app.js')
</body>
</html>5. Crea el componente Vue:
<!-- resources/js/Components/MiComponente.vue --> <template> <div class="p-12 text-center"> <h1 class="text-4xl font-bold text-blue-600">{{ mensaje }}</h1> <p class="mt-4 text-xl">Bienvenido, {{ usuario?.name || 'Visitante' }}! 🎉</p> </div> </template> <script> export default { props: ['mensaje', 'usuario'] } </script>
6. Registra el componente en app.js:
import MiComponente from './Components/MiComponente.vue'; app.component('mi-componente', MiComponente);
7. ¡Abre tu navegador en http://localhost:8000/mi-primera!
✅ Resumen para Principiantes
| Concepto | Explicación Simple |
|---|---|
| Laravel | El "motor" que maneja la lógica y la base de datos |
| Vue | Lo que ves en el navegador (interfaz) |
| Breeze | Un proyecto ya empezado con autenticación |
| Vite | El compilador que actualiza automáticamente |
| npm run dev | Comando mágico que actualiza todo automáticamente |
| Pages/ | Páginas completas (cada una es una ruta) |
| Components/ | Piezas pequeñas que usas en varias páginas |
| props | Cómo recibes datos del backend en Vue |
🚀 ¡Próximos Pasos!
Practica: Crea una página con una lista de tareas
Experimenta: Agrega un botón para añadir tareas
Personaliza: Cambia colores y estilos
Comparte: Muestra lo que has creado a alguien
🆘 ¿Tienes problemas para ver los cambios?
Método rápido para reiniciar:
# 1. Detén npm run dev (Ctrl+C) # 2. Limpia la caché rm -rf node_modules/.vite # 3. Reinicia npm run dev # 4. Recarga el navegador con Ctrl+Shift+R
¿Tienes preguntas? Recuerda:
Google es tu amigo
La documentación oficial es tu mejor aliada
Todos los programadores comenzaron donde estás tú
¡Ahora sí, a programar!
Comentarios
Publicar un comentario