2
2
3
3
namespace Tavo ;
4
4
5
- Use Exception ;
5
+ use Exception ;
6
6
7
7
/**
8
8
* ValidadorEc contiene metodos para validar cédula, RUC de persona natural, RUC de sociedad privada y
16
16
*/
17
17
class ValidadorEc
18
18
{
19
-
20
19
/**
21
- * Error
20
+ * Error.
22
21
*
23
22
* Contiene errores globales de la clase
24
23
*
25
24
* @var string
26
- * @access protected
27
25
*/
28
26
protected $ error = '' ;
29
27
30
28
/**
31
- * Validar cédula
29
+ * Validar cédula.
32
30
*
33
- * @param string $numero Número de cédula
31
+ * @param string $numero Número de cédula
34
32
*
35
- * @return Boolean
33
+ * @return bool
36
34
*/
37
35
public function validarCedula ($ numero = '' )
38
36
{
@@ -50,23 +48,24 @@ public function validarCedula($numero = '')
50
48
$ this ->algoritmoModulo10 (substr ($ numero , 0 , 9 ), $ numero [9 ]);
51
49
} catch (Exception $ e ) {
52
50
$ this ->setError ($ e ->getMessage ());
51
+
53
52
return false ;
54
53
}
55
54
56
55
return true ;
57
56
}
58
57
59
58
/**
60
- * Validar RUC persona natural
59
+ * Validar RUC persona natural.
61
60
*
62
- * @param string $numero Número de RUC persona natural
61
+ * @param string $numero Número de RUC persona natural
63
62
*
64
- * @return Boolean
63
+ * @return bool
65
64
*/
66
65
public function validarRucPersonaNatural ($ numero = '' )
67
66
{
68
67
// fuerzo parametro de entrada a string
69
- $ numero = (string )$ numero ;
68
+ $ numero = (string ) $ numero ;
70
69
71
70
// borro por si acaso errores de llamadas anteriores.
72
71
$ this ->setError ('' );
@@ -80,24 +79,24 @@ public function validarRucPersonaNatural($numero = '')
80
79
$ this ->algoritmoModulo10 (substr ($ numero , 0 , 9 ), $ numero [9 ]);
81
80
} catch (Exception $ e ) {
82
81
$ this ->setError ($ e ->getMessage ());
82
+
83
83
return false ;
84
84
}
85
85
86
86
return true ;
87
87
}
88
88
89
-
90
89
/**
91
- * Validar RUC sociedad privada
90
+ * Validar RUC sociedad privada.
92
91
*
93
- * @param string $numero Número de RUC sociedad privada
92
+ * @param string $numero Número de RUC sociedad privada
94
93
*
95
- * @return Boolean
94
+ * @return bool
96
95
*/
97
96
public function validarRucSociedadPrivada ($ numero = '' )
98
97
{
99
98
// fuerzo parametro de entrada a string
100
- $ numero = (string )$ numero ;
99
+ $ numero = (string ) $ numero ;
101
100
102
101
// borro por si acaso errores de llamadas anteriores.
103
102
$ this ->setError ('' );
@@ -111,23 +110,24 @@ public function validarRucSociedadPrivada($numero = '')
111
110
$ this ->algoritmoModulo11 (substr ($ numero , 0 , 9 ), $ numero [9 ], 'ruc_privada ' );
112
111
} catch (Exception $ e ) {
113
112
$ this ->setError ($ e ->getMessage ());
113
+
114
114
return false ;
115
115
}
116
116
117
117
return true ;
118
118
}
119
119
120
120
/**
121
- * Validar RUC sociedad publica
121
+ * Validar RUC sociedad publica.
122
122
*
123
- * @param string $numero Número de RUC sociedad publica
123
+ * @param string $numero Número de RUC sociedad publica
124
124
*
125
- * @return Boolean
125
+ * @return bool
126
126
*/
127
127
public function validarRucSociedadPublica ($ numero = '' )
128
128
{
129
129
// fuerzo parametro de entrada a string
130
- $ numero = (string )$ numero ;
130
+ $ numero = (string ) $ numero ;
131
131
132
132
// borro por si acaso errores de llamadas anteriores.
133
133
$ this ->setError ('' );
@@ -141,22 +141,23 @@ public function validarRucSociedadPublica($numero = '')
141
141
$ this ->algoritmoModulo11 (substr ($ numero , 0 , 8 ), $ numero [8 ], 'ruc_publica ' );
142
142
} catch (Exception $ e ) {
143
143
$ this ->setError ($ e ->getMessage ());
144
+
144
145
return false ;
145
146
}
146
147
147
148
return true ;
148
149
}
149
150
150
151
/**
151
- * Validaciones iniciales para CI y RUC
152
+ * Validaciones iniciales para CI y RUC.
152
153
*
153
- * @param string $numero CI o RUC
154
- * @param integer $caracteres Cantidad de caracteres requeridos
155
- *
156
- * @return Boolean
154
+ * @param string $numero CI o RUC
155
+ * @param int $caracteres Cantidad de caracteres requeridos
157
156
*
158
157
* @throws exception Cuando valor esta vacio, cuando no es dígito y
159
- * cuando no tiene cantidad requerida de caracteres
158
+ * cuando no tiene cantidad requerida de caracteres
159
+ *
160
+ * @return bool
160
161
*/
161
162
protected function validarInicial ($ numero , $ caracteres )
162
163
{
@@ -176,13 +177,13 @@ protected function validarInicial($numero, $caracteres)
176
177
}
177
178
178
179
/**
179
- * Validación de código de provincia (dos primeros dígitos de CI/RUC)
180
- *
181
- * @param string $numero Dos primeros dígitos de CI/RUC
180
+ * Validación de código de provincia (dos primeros dígitos de CI/RUC).
182
181
*
183
- * @return boolean
182
+ * @param string $numero Dos primeros dígitos de CI/RUC
184
183
*
185
184
* @throws exception Cuando el código de provincia no esta entre 00 y 24
185
+ *
186
+ * @return bool
186
187
*/
187
188
protected function validarCodigoProvincia ($ numero )
188
189
{
@@ -194,7 +195,7 @@ protected function validarCodigoProvincia($numero)
194
195
}
195
196
196
197
/**
197
- * Validación de tercer dígito
198
+ * Validación de tercer dígito.
198
199
*
199
200
* Permite validad el tercer dígito del documento. Dependiendo
200
201
* del campo tipo (tipo de identificación) se realizan las validaciones.
@@ -209,13 +210,13 @@ protected function validarCodigoProvincia($numero)
209
210
* Para RUC de sociedades públicas el terder dígito debe ser
210
211
* igual a 6.
211
212
*
212
- * @param string $numero tercer dígito de CI/RUC
213
- * @param string $tipo tipo de identificador
214
- *
215
- * @return boolean
213
+ * @param string $numero tercer dígito de CI/RUC
214
+ * @param string $tipo tipo de identificador
216
215
*
217
216
* @throws exception Cuando el tercer digito no es válido. El mensaje
218
- * de error depende del tipo de Idenficiación.
217
+ * de error depende del tipo de Idenficiación.
218
+ *
219
+ * @return bool
219
220
*/
220
221
protected function validarTercerDigito ($ numero , $ tipo )
221
222
{
@@ -246,13 +247,13 @@ protected function validarTercerDigito($numero, $tipo)
246
247
}
247
248
248
249
/**
249
- * Validación de código de establecimiento
250
+ * Validación de código de establecimiento.
250
251
*
251
- * @param string $numero tercer dígito de CI/RUC
252
- *
253
- * @return boolean
252
+ * @param string $numero tercer dígito de CI/RUC
254
253
*
255
254
* @throws exception Cuando el establecimiento es menor a 1
255
+ *
256
+ * @return bool
256
257
*/
257
258
protected function validarCodigoEstablecimiento ($ numero )
258
259
{
@@ -293,36 +294,35 @@ protected function validarCodigoEstablecimiento($numero)
293
294
*
294
295
* Nota: Cuando el residuo es cero(0) el dígito verificador debe ser 0.
295
296
*
296
- * @param string $digitosIniciales Nueve primeros dígitos de CI/RUC
297
- * @param string $digitoVerificador Décimo dígito de CI/RUC
298
- *
299
- * @return boolean
297
+ * @param string $digitosIniciales Nueve primeros dígitos de CI/RUC
298
+ * @param string $digitoVerificador Décimo dígito de CI/RUC
300
299
*
301
300
* @throws exception Cuando los digitosIniciales no concuerdan contra
302
- * el código verificador.
301
+ * el código verificador.
302
+ *
303
+ * @return bool
303
304
*/
304
305
protected function algoritmoModulo10 ($ digitosIniciales , $ digitoVerificador )
305
306
{
306
- $ arrayCoeficientes = array ( 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ) ;
307
+ $ arrayCoeficientes = [ 2 , 1 , 2 , 1 , 2 , 1 , 2 , 1 , 2 ] ;
307
308
308
- $ digitoVerificador = (int )$ digitoVerificador ;
309
+ $ digitoVerificador = (int ) $ digitoVerificador ;
309
310
$ digitosIniciales = str_split ($ digitosIniciales );
310
311
311
312
$ total = 0 ;
312
313
foreach ($ digitosIniciales as $ key => $ value ) {
313
-
314
- $ valorPosicion = ( (int )$ value * $ arrayCoeficientes [$ key ] );
314
+ $ valorPosicion = ((int ) $ value * $ arrayCoeficientes [$ key ]);
315
315
316
316
if ($ valorPosicion >= 10 ) {
317
317
$ valorPosicion = str_split ($ valorPosicion );
318
318
$ valorPosicion = array_sum ($ valorPosicion );
319
- $ valorPosicion = (int )$ valorPosicion ;
319
+ $ valorPosicion = (int ) $ valorPosicion ;
320
320
}
321
321
322
322
$ total = $ total + $ valorPosicion ;
323
323
}
324
324
325
- $ residuo = $ total % 10 ;
325
+ $ residuo = $ total % 10 ;
326
326
327
327
$ resultado = ($ residuo == 0 ) ? 0 : 10 - $ residuo ;
328
328
@@ -334,7 +334,7 @@ protected function algoritmoModulo10($digitosIniciales, $digitoVerificador)
334
334
}
335
335
336
336
/**
337
- * Algoritmo Modulo11 para validar RUC de sociedades privadas y públicas
337
+ * Algoritmo Modulo11 para validar RUC de sociedades privadas y públicas.
338
338
*
339
339
* El código verificador es el decimo digito para RUC de empresas privadas
340
340
* y el noveno dígito para RUC de empresas públicas
@@ -375,39 +375,39 @@ protected function algoritmoModulo10($digitosIniciales, $digitoVerificador)
375
375
*
376
376
* Nota: Cuando el residuo es cero(0) el dígito verificador debe ser 0.
377
377
*
378
- * @param string $digitosIniciales Nueve primeros dígitos de RUC
379
- * @param string $digitoVerificador Décimo dígito de RUC
380
- * @param string $tipo Tipo de identificador
381
- *
382
- * @return boolean
378
+ * @param string $digitosIniciales Nueve primeros dígitos de RUC
379
+ * @param string $digitoVerificador Décimo dígito de RUC
380
+ * @param string $tipo Tipo de identificador
383
381
*
384
382
* @throws exception Cuando los digitosIniciales no concuerdan contra
385
- * el código verificador.
383
+ * el código verificador.
384
+ *
385
+ * @return bool
386
386
*/
387
387
protected function algoritmoModulo11 ($ digitosIniciales , $ digitoVerificador , $ tipo )
388
388
{
389
389
switch ($ tipo ) {
390
390
case 'ruc_privada ' :
391
- $ arrayCoeficientes = array ( 4 , 3 , 2 , 7 , 6 , 5 , 4 , 3 , 2 ) ;
391
+ $ arrayCoeficientes = [ 4 , 3 , 2 , 7 , 6 , 5 , 4 , 3 , 2 ] ;
392
392
break ;
393
393
case 'ruc_publica ' :
394
- $ arrayCoeficientes = array ( 3 , 2 , 7 , 6 , 5 , 4 , 3 , 2 ) ;
394
+ $ arrayCoeficientes = [ 3 , 2 , 7 , 6 , 5 , 4 , 3 , 2 ] ;
395
395
break ;
396
396
default :
397
397
throw new Exception ('Tipo de Identificacion no existe. ' );
398
398
break ;
399
399
}
400
400
401
- $ digitoVerificador = (int )$ digitoVerificador ;
401
+ $ digitoVerificador = (int ) $ digitoVerificador ;
402
402
$ digitosIniciales = str_split ($ digitosIniciales );
403
403
404
404
$ total = 0 ;
405
405
foreach ($ digitosIniciales as $ key => $ value ) {
406
- $ valorPosicion = ( (int )$ value * $ arrayCoeficientes [$ key ] );
406
+ $ valorPosicion = ((int ) $ value * $ arrayCoeficientes [$ key ]);
407
407
$ total = $ total + $ valorPosicion ;
408
408
}
409
409
410
- $ residuo = $ total % 11 ;
410
+ $ residuo = $ total % 11 ;
411
411
412
412
$ resultado = ($ residuo == 0 ) ? 0 : 11 - $ residuo ;
413
413
@@ -419,7 +419,7 @@ protected function algoritmoModulo11($digitosIniciales, $digitoVerificador, $tip
419
419
}
420
420
421
421
/**
422
- * Get error
422
+ * Get error.
423
423
*
424
424
* @return string Mensaje de error
425
425
*/
@@ -429,14 +429,16 @@ public function getError()
429
429
}
430
430
431
431
/**
432
- * Set error
432
+ * Set error.
433
+ *
434
+ * @param string $newError
433
435
*
434
- * @param string $newError
435
436
* @return object $this
436
437
*/
437
438
public function setError ($ newError )
438
439
{
439
440
$ this ->error = $ newError ;
441
+
440
442
return $ this ;
441
443
}
442
444
}
0 commit comments