Initialize Git
after create a new laravel project you must initialize git after install Husky to make it work properly:
git init
agrega el archivo public/js/app.js al gitignore
Si usas el watcher de laravel mix tu archivo public/js/app.js
se modificara constantemente por lo cual es bueno sacarlo de control de versiones:
/public/js/app.js
Instalar paquete de cs fixer
composer require friendsofphp/php-cs-fixer
If it fail you can use an specific version 2.16.2 version:
composer require friendsofphp/php-cs-fixer:2.16.2 -W
Instalar paquete Husky
npm install husky@4 --save-dev
Crea un archivo ".php_cs" y agrega el siguiente contenido:
<?php
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->exclude(['bootstrap', 'storage', 'vendor'])
->name('*.php')
->name('_ide_helper')
->notName('*.blade.php')
->ignoreDotFiles(true)
->ignoreVCS(true);
return PhpCsFixer\Config::create()
->setRules([
'@PSR2' => true,
'array_syntax' => ['syntax' => 'short'],
'ordered_imports' => ['sortAlgorithm' => 'alpha'],
'no_unused_imports' => true,
])
->setUsingCache(false)
->setFinder($finder);
Agregar la siguiente llave en tu package.json
"husky": {
"hooks": {
"pre-commit": "vendor/bin/php-cs-fixer fix --config .php_cs --allow-risky=yes --dry-run --verbose",
"pre-push": "php artisan test"
}
},
Con esta configuración cada vez que se realize un commit se revisaran todos los archivos del proyecto, también si se realiza un "push" del código este correra todos los tests por medio del comando php artisan test
antes de subir los cambios.
Instalar dependencias con npm
npm install
Correjir código anterior
Si el proyecto ya esta avanzado es posible aplicar también las reglas al código anterior ejecutando este comando:
vendor/bin/php-cs-fixer fix
o
php-cs-fixer fix --config .php_cs --verbose
Instalando Laravel IDE Helper
composer require --dev barryvdh/laravel-ide-helper
Agrega comentarios para los Facades
php artisan ide-helper:generate
Agregar comentarios para los modelos
php artisan ide-helper:models
Genera el archivo Metafile para PHPStorm
php artisan ide-helper:meta
Top comments (3)
haz probado phpcs, de squizzlabs? Lo uso en la mayoría de mis proyectos, pero siempre debo configurar aquellas reglas personalizadas que se aplican en la empresa:
¿Qué tantas reglas se pueden personalizar con friendsofphp/php-cs-fixer?
Hola Gustavo un gustaso! te comento, laravel shift usa este paquete para configurar las reglas cuando te hace un upgrade automatico de versión basado en las reglas de estilo de Laravel, aquí podes encontrar una lista gist.github.com/laravel-shift/cab5... así que al menos algunas miles de apps creadas con Laravel están usando esta configuración que tiene una gran cantidad de opciones.
Excelente artículo. Gracias por compartir.