| Conditions | 1 |
| Paths | 1 |
| Total Lines | 56 |
| Lines | 0 |
| Ratio | 0 % |
| Changes | 0 | ||
Small methods make your code easier to understand, in particular if combined with a good name. Besides, if your method is small, finding a good name is usually much easier.
For example, if you find yourself adding comments to a method's body, this is usually a good sign to extract the commented part to a new method, and use the comment as a starting point when coming up with a good name for this new method.
Commonly applied refactorings include:
If many parameters/temporary variables are present:
| 1 | <?php |
||
| 22 | private function addValidators() |
||
| 23 | { |
||
| 24 | // Tax Number: NIF or NIE or CIF |
||
| 25 | Validator::extend('spanish_tax_number', 'Orumad\\SpanishValidator\\InternalValidator@validateTaxNumber'); |
||
| 26 | Validator::replacer('spanish_tax_number', function ($message, $attribute, $rule, $parameters) { |
||
| 27 | return __('spanishValidator.tax_number'); |
||
| 28 | }); |
||
| 29 | |||
| 30 | // Personal ID: NIF or NIE |
||
| 31 | Validator::extend('spanish_personal_id', 'Orumad\\SpanishValidator\\InternalValidator@validatePersonalId'); |
||
| 32 | Validator::replacer('spanish_personal_id', function ($message, $attribute, $rule, $parameters) { |
||
| 33 | return __('spanishValidator.personal_id'); |
||
| 34 | }); |
||
| 35 | |||
| 36 | // NIF |
||
| 37 | Validator::extend('nif', 'Orumad\\SpanishValidator\\InternalValidator@validateNif'); |
||
| 38 | Validator::replacer('nif', function ($message, $attribute, $rule, $parameters) { |
||
| 39 | return __('spanishValidator.nif'); |
||
| 40 | }); |
||
| 41 | |||
| 42 | // NIE |
||
| 43 | Validator::extend('nie', 'Orumad\\SpanishValidator\\InternalValidator@validateNie'); |
||
| 44 | Validator::replacer('nie', function ($message, $attribute, $rule, $parameters) { |
||
| 45 | return __('spanishValidator.nie'); |
||
| 46 | }); |
||
| 47 | |||
| 48 | // CIF |
||
| 49 | Validator::extend('cif', 'Orumad\\SpanishValidator\\InternalValidator@validateCif'); |
||
| 50 | Validator::replacer('cif', function ($message, $attribute, $rule, $parameters) { |
||
| 51 | return __('spanishValidator.cif'); |
||
| 52 | }); |
||
| 53 | |||
| 54 | // NSS |
||
| 55 | Validator::extend('nss', 'Orumad\\SpanishValidator\\InternalValidator@validateNss'); |
||
| 56 | Validator::replacer('nss', function ($message, $attribute, $rule, $parameters) { |
||
| 57 | return __('spanishValidator.nss'); |
||
| 58 | }); |
||
| 59 | |||
| 60 | // IBAN |
||
| 61 | Validator::extend('iban', 'Orumad\\SpanishValidator\\InternalValidator@validateIban'); |
||
| 62 | Validator::replacer('iban', function ($message, $attribute, $rule, $parameters) { |
||
| 63 | return __('spanishValidator.iban'); |
||
| 64 | }); |
||
| 65 | |||
| 66 | // Postal Code |
||
| 67 | Validator::extend('spanish_postal_code', 'Orumad\\SpanishValidator\\InternalValidator@validatePostalCode'); |
||
| 68 | Validator::replacer('spanish_postal_code', function ($message, $attribute, $rule, $parameters) { |
||
| 69 | return __('spanishValidator.postal_code'); |
||
| 70 | }); |
||
| 71 | |||
| 72 | // Phone |
||
| 73 | Validator::extend('spanish_phone', 'Orumad\\SpanishValidator\\InternalValidator@validatePhone'); |
||
| 74 | Validator::replacer('spanish_phone', function ($message, $attribute, $rule, $parameters) { |
||
| 75 | return __('spanishValidator.phone'); |
||
| 76 | }); |
||
| 77 | } |
||
| 78 | } |
||
| 79 |
Let’s assume that you have a directory layout like this:
. |-- OtherDir | |-- Bar.php | `-- Foo.php `-- SomeDir `-- Foo.phpand let’s assume the following content of
Bar.php:If both files
OtherDir/Foo.phpandSomeDir/Foo.phpare loaded in the same runtime, you will see a PHP error such as the following:PHP Fatal error: Cannot use SomeDir\Foo as Foo because the name is already in use in OtherDir/Foo.phpHowever, as
OtherDir/Foo.phpdoes not necessarily have to be loaded and the error is only triggered if it is loaded beforeOtherDir/Bar.php, this problem might go unnoticed for a while. In order to prevent this error from surfacing, you must import the namespace with a different alias: