-
Notifications
You must be signed in to change notification settings - Fork 156
/
Copy pathphp-cs-fixer.php
88 lines (81 loc) · 3.02 KB
/
php-cs-fixer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
<?php
declare(strict_types=1);
/**
* LibreDTE: Biblioteca PHP (Núcleo).
* Copyright (C) LibreDTE <https://www.libredte.cl>
*
* Este programa es software libre: usted puede redistribuirlo y/o modificarlo
* bajo los términos de la Licencia Pública General Affero de GNU publicada por
* la Fundación para el Software Libre, ya sea la versión 3 de la Licencia, o
* (a su elección) cualquier versión posterior de la misma.
*
* Este programa se distribuye con la esperanza de que sea útil, pero SIN
* GARANTÍA ALGUNA; ni siquiera la garantía implícita MERCANTIL o de APTITUD
* PARA UN PROPÓSITO DETERMINADO. Consulte los detalles de la Licencia Pública
* General Affero de GNU para obtener una información más detallada.
*
* Debería haber recibido una copia de la Licencia Pública General Affero de
* GNU junto a este programa.
*
* En caso contrario, consulte <http://www.gnu.org/licenses/agpl.html>.
*/
/**
* Archivo de configuración para PHP CS Fixer.
*/
use PhpCsFixer\Config;
use PhpCsFixer\Finder;
$dir = __DIR__;
$finder = Finder::create()
->in($dir)
->name('*.php')
->exclude('vendor')
;
return (new Config())
// Permitir reglas riesgosas que cambian la lógica del código.
->setRiskyAllowed(true)
// Basado en PSR-12, la última recomendación de estilo.
->setRules([
'@PSR12' => true,
// Añadir "declare(strict_types=1);" a los archivos.
// Esto los añade así <?php declare(strict_types=1); sin embargo se
// recomienda editarlos o añadirlos manualmente en líneas separadas.
'declare_strict_types' => true,
// Indentar con espacios.
'indentation_type' => true,
// Ordenar los "use" alfabéticamente.
'ordered_imports' => [
'sort_algorithm' => 'alpha',
],
// Eliminar imports no usados.
'no_unused_imports' => true,
// Un import por declaración.
'single_import_per_statement' => true,
// Convertir arreglos a la sintaxis corta "[]".
'array_syntax' => [
'syntax' => 'short',
],
// Añadir comas finales en arreglos de varias líneas.
'trailing_comma_in_multiline' => true,
// Separar constantes y propiedades.
'class_attributes_separation' => [
'elements' => [
'const' => 'one',
'property' => 'one',
'method' => 'one',
],
],
// Reemplazar strpos con un return de bool.
// Ejemplo usar: str_contains().
'modernize_strpos' => true,
// Convertir funciones anónimas a funciones flecha.
'use_arrow_functions' => true,
// Usar constructores de PHPUnit en lugar de métodos de fábrica.
'php_unit_construct' => true,
// Usar aserciones más estrictas en PHPUnit.
// Ejemplo: usar assertSame() en vez de assertEquals().
'php_unit_strict' => true,
])
->setLineEnding("\n")
->setCacheFile($dir . '/var/cache/php-cs-fixer.cache')
->setFinder($finder)
;