Laravel Pint, el corrector de estilo para PHP

Autor: Damián Aguilar
twitter
- Creado el 21/07/2022
y Actualizado el 30/07/2022
laravel php frameworks

El equipo de desarrollo de Laravel, con Nuno Maduro a la cabeza, ha lanzado Laravel Pint. Un corrector de estilo para PHP basado en PHP-CS-Fixer.

PHP-CS-Fixer es un corrector de estilo para PHP que sigue los estandars definidos en PSR1, PSR2,... estos estándars puedes encontrarlos en [PHP-FIG]{https://www.php-fig.org/psr/}{.link-out} donde se establecen normas de estilo para programar en PHP, por ejemplo:

  • Los nombres de los métodos deben de escribirse usando camelcase.
  • Los archivos PHP deben de usar sólo las etiquetas <?php o <?=.
  • ...

Laravel Pint se encarga de lidiar con todo esto. Su funcionamiento es sencillo, recorrer todos los archivos de nuestro código en busca de incumplimientos de los estándares, y los soluciona directamente en el archivo. Lo primero que tenemos que hacer para utilizar Laravel Pint, es instalarlo. Para ello usaremos Composer:

composer require laravel/pint --dev

Una vez instalado, solo tenemos que ejecutarlo en el terminal:

./vendor/bin/pint

En la documentación oficial de Laravel, vas a encontrar muchas más funcionalidades: https://laravel.com/docs/9.x/pint

Revisando un poco por internet, me encontré el otro día un artículo en el que se hablaba de cómo configurar Laravel Pint como una Github Action. Concretamente, este es el artículo:

Básicamente, te explica que tienes que crear una carpeta en la base de tu directorio para añadir las Github Actions:

.github/workflows

Y dentro de la carpeta, añadir un archivo .yml, por ejemplo: pint.yml, donde debemos añadir el siguiente código:

name: Laravel Pint
on:
  workflow_dispatch:
  push:
    branches-ignore:
      - 'dependabot/npm_and_yarm/*'
jobs:
  phplint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
        with:
          fetch-depth: 2
      - name: "laravel-pint"
        uses: aglipanci/laravel-pint-action@0.1.0
        with:
          preset: laravel
      - name: Commit changes
        uses: stefanzweifel/git-auto-commit-action@v4
        with:
          commit_message: Laravel Pint
          skip_fetch: true

El proceso es el siguiente:

  1. En cuanto hagas un commit a Github, se subirá el código al repositorio y se ejecutará la acción.
  2. Laravel Pint corregirá los errores de estilo y creará un PR en tu repositorio con los cambios.
  3. Haz un pull y actualiza tu repositorio local unos segundos después.

Muy útil para cuando trabajas en equipo. A nivel personal, prefiero ejecutar Laravel Pint a voluntad en vez de automatizarlo.

También tienes otra opción, si utilizas VS Code. Puedes añadir una tarea, de forma que cada vez que pulses una combinación de teclas, se ejecute Pint, y limpie tu código. Puedes encontrar más información aquí de cómo hacerlo: