informatica:programacion:php:cursos:laravel_8:20250601
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| informatica:programacion:php:cursos:laravel_8:20250601 [2023/06/01 13:50] – tempwin | informatica:programacion:php:cursos:laravel_8:20250601 [2023/06/01 15:11] (actual) – tempwin | ||
|---|---|---|---|
| Línea 5: | Línea 5: | ||
| Terminología: | Terminología: | ||
| - | * trac factor | + | * **Test de caracterización**: |
| Jornada de charla. | Jornada de charla. | ||
| Línea 26: | Línea 26: | ||
| public function show(Product $product) { | public function show(Product $product) { | ||
| - | $product = new Product(); | ||
| - | $parameters = [" | ||
| - | | ||
| return view(" | return view(" | ||
| + | |||
| } | } | ||
| </ | </ | ||
| Línea 37: | Línea 35: | ||
| </ | </ | ||
| + | |||
| + | Creamos una vista '' | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | |||
| + | < | ||
| + | </ | ||
| + | |||
| + | Tendremos accesible desde http:// | ||
| + | |||
| + | Vamos a hacer el '' | ||
| + | |||
| + | <code php> | ||
| + | public function edit(Product $product) { | ||
| + | return view(" | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Creamos una vista '' | ||
| + | |||
| + | <code html> | ||
| + | <form action=" | ||
| + | @csrf | ||
| + | @method(" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | <input type=" | ||
| + | // ... | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | http:// | ||
| + | |||
| + | Vamos a hacer el '' | ||
| + | |||
| + | <code php> | ||
| + | public function update(UpdateProductRequest $request, Product $product) { | ||
| + | $product-> | ||
| + | return redirect(route(" | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | Ahora vamos a hacer '' | ||
| + | |||
| + | <code php> | ||
| + | public function destroy(Product $product) { | ||
| + | |||
| + | $product-> | ||
| + | return \redirect(route(" | ||
| + | |||
| + | } | ||
| + | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | Falta hacer cambios en la vista para añadir un " | ||
| + | </ | ||
| + | |||
| + | |||
| + | En el fichero '' | ||
| + | |||
| + | <code php> | ||
| + | Route:: | ||
| + | |||
| + | |||
| + | // Este apaño es para no usar la ruta que propone Laravel para borrar | ||
| + | // y borrar mediante una ruta que definamos nosotros | ||
| + | Route:: | ||
| + | </ | ||
| + | |||
| + | <code html> | ||
| + | < | ||
| + | <ul> | ||
| + | @foreach($productsList as $product) | ||
| + | <li> | ||
| + | < | ||
| + | < | ||
| + | </li> | ||
| + | @endforeach | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Vamos a realizar la **separación por capas** (Aplicación, | ||
| + | |||
| + | Toda la responsabilidad sobre comunicarse con la base de datos, debería estar en un repositorio (patrón repository). | ||
| + | |||
| + | '' | ||
| + | |||
| + | * '' | ||
| + | |||
| + | <WRAP center round info 60%> | ||
| + | Realmente tendría que ir fuera de la carpeta '' | ||
| + | </ | ||
| + | |||
| + | |||
| + | |||
| + | <code php> | ||
| + | namespace App\Domain\Contracts; | ||
| + | |||
| + | interface IProductRepository { | ||
| + | |||
| + | public function getAllProducts(); | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | El repositorio lo creamos en '' | ||
| + | |||
| + | <code php> | ||
| + | namespace App\Infraestructure\Repositories; | ||
| + | |||
| + | use App\Domain\Contracts\IProductRepository; | ||
| + | use App\Models\Product; | ||
| + | |||
| + | class EloquentProductRepository immplements IProductRepository { | ||
| + | |||
| + | public function getAllProducts() { | ||
| + | Product:: | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||
| + | Laravel es bueno para proyectos grandes, el problema es cuando es necesario salirse de lo que Laravel ofrece. Para proyectos grandes, el profe recomienda Symfony, es mucho más flexible. | ||
| + | |||
| + | El profe cuando empezó el Lifull se metió para gestionar un portal inmobiliario para el sudeste asiático gestionado con Laravel. | ||
| + | |||
| + | El resto de la clase se dedicó a que la gente hablase de lo que le parece el curso y lo que espera de él en el futuro. En general quieren saber más de Laravel y menos de testing. | ||
informatica/programacion/php/cursos/laravel_8/20250601.1685620245.txt.gz · Última modificación: por tempwin
