CRUD
Crearemos una base de datos correspondiente a la siguientes tablas NOTA: Inicialmente trabajaremos con la tabla cliente como lo verán en la siguiente diapositiva.
Observamos la tabla creada NOTA: Trabajaremos con llave primaria auto_incrementable.
Nos dirigimos al archivo Nos dirigimos al archivo .env que se encuentra en el directorio raíz de nuestro proyecto Cuando trabajamos en el desarrollo de una aplicación, la mayoría de las veces, las credenciales de la base de datos de nuestro entorno local es diferente de las credenciales de nuestro entorno de producción o pruebas. No sólo esas, sino muchos otros datos de configuración de servicios pueden variar de entorno a entorno. Por lo que no es conveniente tener datos de configuración variables dentro de nuestro código, para solventar este problema podemos hacer uso de las variables de entorno.
Configuramos las siguientes variables de entorno relacionadas con la configuración de la base de datos. Puerto de comunicación con la BD 3306 por defecto Nombre de la BD que crearon Usuario de la BD Password (En blanco si no tiene password habilitada)
Creamos una carpeta llamada Models dentro del directorio app, donde alojaremos los modelos correspondientes para trabajar. Dentro de la carpeta Models crearemos un archivo php llamado Cliente.php
El nombre de los modelos se escribe en singular. ELOQUENT: En Laravel podemos hacer uso de un ORM llamado Eloquent, un ORM es un Mapeo Objeto-Relacional por sus siglas en ingles (Object-Relational mapping), que es una forma de mapear los datos que se encuentran en la base de datos almacenados en un lenguaje de script SQL a objetos de PHP y viceversa, esto surge con la idea de tener un código portable con el que no tengamos la necesidad de usar lenguaje SQL dentro de nuestras clases de PHP. los modelos hacen uso de PSR-4 (Estándares para programar) y namespaces, un Modelo nos ayuda a definir que tabla, atributos se pueden llenar y que otros se deben mantener ocultos, entre muchas funcionalidades mas. El nombre de los modelos se escribe en singular. Usan notacion UpperCamelCase para sus nombres (Primera letra en mayúscula).
Dentro del modelo Cliente.php se crea la siguiente estructura Los namespaces, existen en PHP como una alternativa al control de colisiones en los nombres de variables, clases y funciones; recordemos que como parte del ciclo de desarrollo con este lenguaje en mas de una ocasión usaremos: librerías de terceros que pudieran tener conflictos con los nombres que nosotros le declaremos a lo ya antes mencionado. Nombre de la tabla Nombre de la llave primaria de la tabla Campos de la tabla cliente.
En el directorio app/http/controller crearemos un controlador llamado ClienteController.php con sus respectivos métodos y hacemos uso (import) del modelo Cliente que creamos anteriormente.
Rutas creadas de cliente En el archivo routes/web.php crearemos las rutas que permitirán comunicarse con los métodos del controlador. En el cmd con el comando php artisan route:list observamos todas las rutas creadas de nuestra aplicación. Rutas creadas de cliente
Agregamos en el menú los ítems correspondiente para redirigir a las vistas de clientes (Registro y listado de clientes).
Creamos los siguientes archivos Crearemos la carpeta donde se alojaran las vistas del modulo cliente Creamos los siguientes archivos create.blade.php -> Contendrá el formulario de registro. edit.blade.php -> Contendrá el formulario de actualización de datos de un cliente. index.blade.php -> Contendrá una tabla con el listado de todos los clientes registrados.
Vista create.blade.php. Ruta que comunica con la acción de guardar en la BD
Continuación de la vista créate. NOTA: No olvidar incluir el menú después del @endsection
Modificaremos el método create y store del controlador Cliente para que nos muestre el formulario y permita realizar un registro.
Montamos el servidor y probamos el formulario
Verificacion
POSIBLES ERRORES
Error 1: Verifiquen que en el archivo .env Tenga el nombre correcto de la BD. NOTA: Vuelvan y carguen el servidor Error 2: verifiquen namespace del modelo Cliente.php sea igual a como lo llaman en el controlador ClienteController.php Error 3: verifiquen que el nombre de la carpeta y la del archivo se igual a como lo están llamando desde el controlador