Inicializar proyecto con Blueprint

Escribió jok3rcit0, hace 3 años

Hace ya varios años que llevo usando laravel como framework PHP preferido y la verdad es que siempre aprendo algo nuevo con este. Hoy me encuentro desarrollando un API más y conocí un nuevo paquete que me a ayudado a facilitar más las cosas. 

Blueprint es una herramienta que nos ayudará a generar múltiples componentes de Laravel a partir de un archivo legible por cualquier hobbit de nuestra comarca.

Instalar este paquete es muy sencillo, una vez en nuestro proyecto de laravel, en terminal ejecutamos: 

$ composer require laravel-shift/blueprint --dev
$ php artisan vendor:publish 

Explico brevemente, el primero es para agregar el paquete a nuestro proyecto solo cuando estamos en desarrollo, el segundo es para publicar la configuración de paquetes, (nos agregar un archivo dentro de la carpeta config); en este paso hay que elegir el paquete del que queremos la configuración vean mi captura de pantalla.

Cómo pueden observar al ejecutar el vendor:publish podremos elegir en este caso la 10 es la de blueprint.

Ahora editamos el archivo que nos creo en config, blueprint.php con los siguientes valores.

'models_namespaces' => 'Models'
'use_constraints' => true
'use_guarded' => true

Ahora explico rápido, el models_namespaces es opcional, para este caso en mi proyecto si quiero tener los modelos dentro de un folder. 

El constraints es creo lógico sirve para que si nos agregue los constraints de las llaves foraneas. Y el guarded para que al crear los modelos la propiedad sea un array vacío.

Ahora sí viene lo chedo! Blueprint es tan sencillo de usar como crear un archivo en la raíz de nuestro proyecto llamado draft.yaml.

Les dejo un ejemplo en este link para que se lo puedan bajar, revisar. Creo que será muy fácil de entender. Una vez que lo tengan listo pueden ejecutar el siguiente comando 

$ php artisan blueprint:build

Y como por arte de magia,


se genera todo, como podrán observar en el yaml que les deje, en los id no es necesario especificar que son llave  foranea por que cambiamos el constraint a true en el config.

Listo, recuerden que podemos crear tambien el este archivo los controladores y cada metodo con reglas de validación, o crear el resource completo, les recomiendo lean la documentación del paquete y cualquier duda pueden dejarla en los comentarios y espero poder ayudar.

Pro tip usen phpstorm vayan al modelo User, click derecho > Refactor > move class y listo elegimos la carpeta models, checamos que esten marcados los checkboxes y le damos a <do refactor >

~Happy coding



También te puede interesar

 

Publicado hace 3 años

JSON:API, el objeto data

Vamos a profundizar más sobre la estructura de la especificación JSON:API. Recuerden leer el post anterior.

Publicado hace 3 meses

Configurando mi terminal en Macbook Pro

Configurando mi nueva MacBook para desarrollo. ¡Mi terminal sigue siendo mi refugio en este mundo cambiante! ✨🖥️

Publicado hace 3 años

Una especificación para construir API's

Si alguna vez has discutido con tu equipo sobre la forma en que deberían formatearse sus respuestas este post es para ti