Top Ad unit 728 × 90

Recientes

recent

Diseño Sistema web PHP con laravel y Mysql (5-36) Controladores y Requests

Continuamos en este videocurso para diseñar un sistema web en el lenguaje de programación PHP con el framework Laravel utilizando como gestor de base de datos MySql.
En este video implementaremos un controlador para gestionar los métodos referentes a la tabla categoría, para la validación de los datos que serán enviados al controlador desde los formularios en las vistas específicas utilizaremos form Requests.

Paquete Premium:
45 Videos (Curso completo)
Código fuente del sistema completo, con las funcionalidades terminadas y mejoradas.
http://www.incanatoit.com/2016/11/codigo-sistema-compras-ventas-laravel-mysql-jquery-bootstrap.html


Paquete Gratuito:
35 Videos
Código fuente del sistema desarrollado en el curso.
Puedes revisar todo el curso gratuito en mi canal de youtube www.youtube.com/jcarlosad7 desde:
https://www.youtube.com/watch?v=Zj0pshSSlEo&index=2&list=PLZPrWDz1MolrxS1uw-u7PrnK66DCFmhDR
Puedes descargar todos los recursos del curso gratuito (Base de datos, Plantilla, Sistema completo, ) del siguiente enlace:
https://drive.google.com/open?id=1NOhkw5zSCXIgAkc3Cn6AYviARCm3HKVd
Puedes ver el código inicial en github en la siguiente dirección:
https://github.com/jcarlosad7/crudLaravelTutorial




Revisa la documentación de laravel 5.2
https://laravel.com/docs/5.2


Controladores

En lugar de definir toda la lógica de tus peticiones en un único archivo routes.php, puedes organizar el comportamiento de tu aplicación utilizando clases controladoras. Los controladores pueden agrupar en una clase la lógica de distintas peticiones HTTP relacionadas. Los controladores se almacenan normalmente en el directorio App/Http/controllers.

Un controller usualmente trabaja asociando las peticiones con los métodos:
  • GET: index, create, show, edit.
  • POST: store.
  • PUT: update.
  • DELETE: destroy.
  • PATCH: update.

El tipo de ruta:
 Route::resource(‘almacen/categoria', ‘CategoriaController');
Nos creara un grupo de rutas de recursos con las peticiones: index, create, show, edit, store, update, destroy. 

Para implementar nuestro controlador utilizamos el siguiente comando en la interfaz de PHP artisan:
php artisan make:controller CategoriaController
Código fuente del Controlador: CategoríaController.php
namespace sisVentas\Http\Controllers;

use Illuminate\Http\Request;

use sisVentas\Http\Requests;
use sisVentas\Categoria;
use Illuminate\Support\Facades\Redirect;
use sisVentas\Http\Requests\CategoriaFormRequest;
use DB;


class CategoriaController extends Controller
{
    public function __construct()
    {
    }
    public function index(Request $request)
    {
        if ($request)
        {
            $query=trim($request->get('searchText'));
            $categorias=DB::table('categoria')->where('nombre','LIKE','%'.$query.'%')
            ->where ('condicion','=','1')
            ->orderBy('idcategoria','desc')
            ->paginate(7);
            return view('almacen.categoria.index',["categorias"=>$categorias,"searchText"=>$query]);
        }
    }
    public function create()
    {
        return view("almacen.categoria.create");
    }
    public function store (CategoriaFormRequest $request)
    {
        $categoria=new Categoria;
        $categoria->nombre=$request->get('nombre');
        $categoria->descripcion=$request->get('descripcion');
        $categoria->condicion='1';
        $categoria->save();
        return Redirect::to('almacen/categoria');

    }
    public function show($id)
    {
        return view("almacen.categoria.show",["categoria"=>Categoria::findOrFail($id)]);
    }
    public function edit($id)
    {
        return view("almacen.categoria.edit",["categoria"=>Categoria::findOrFail($id)]);
    }
    public function update(CategoriaFormRequest $request,$id)
    {
        $categoria=Categoria::findOrFail($id);
        $categoria->nombre=$request->get('nombre');
        $categoria->descripcion=$request->get('descripcion');
        $categoria->update();
        return Redirect::to('almacen/categoria');
    }
    public function destroy($id)
    {
        $categoria=Categoria::findOrFail($id);
        $categoria->condicion='0';
        $categoria->update();
        return Redirect::to('almacen/categoria');
    }
}


Requests
Laravel nos facilita todos los datos de la solicitud actual a través HTTP Request.
Los form Request permite validar los datos enviados en un formulario. Los archivos request se almacenan en el directorio app/Http/Requests/.

Para implementar nuestro Request utilizamos el siguiente comando el la interfaz de PHP artisan:
php artisan make:request CategoriaFormRequest
Código fuente de form Request: CategoríaFormRequest.php
namespace sisVentas\Http\Requests;

use sisVentas\Http\Requests\Request;

class CategoriaFormRequest extends Request
{

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        return [
            'nombre'=>'required|max:50',
            'descripcion'=>'max:256',
        ];
    }
}



Video 5: Sistema web PHP con laravel y mysql (5-36) Controladores y requests en laravel

Saludos Imperio, un abrazo a la distancia!
Diseño Sistema web PHP con laravel y Mysql (5-36) Controladores y Requests Reviewed by IncanatoIt-ad on 21:47 Rating: 5

5 comentarios:

  1. Gracias por el tutorial he aprendido bastante. Muchas Gracias.

    ResponderEliminar
  2. Muy bueno el video, en realidad nunca he programado en PHP, pero la explicación me esta animando a empezar eso seria de beneficio para los estudiantes que les doy clase. Gracias por el aporte.

    ResponderEliminar
  3. muy buena clase agradecido estoy, saludos

    ResponderEliminar
  4. Juan carlos, lo felicito por su manera de explicar, es muy clara y sencilla. Mira estoy siguiendo este curso y me esta dando este error al editar una categoria, utilizo laravel 5.3, podrias ayudarme por favor el error es el siguiente "Call to undefined method Illuminate\Database\Query\Builder::finOrFail()" Muchas Gracias

    ResponderEliminar
    Respuestas
    1. Revise esta sugerencia en: https://stackoverflow.com/questions/32737812/laravel-5-how-to-use-findorfail-method

      Eliminar

Todos los derechos reservados www.IncanatoIT.com - Desarrollando Software © 2014 - 2019
Desarrollado por Blogger, Designed by Sweetheme
IncanatoIt.com. Con la tecnología de Blogger.
y>