Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.
Common duplication problems, and corresponding solutions are:
1 | <?php |
||
31 | class ConsumoFolio extends \sasco\LibreDTE\Sii\Base\Libro |
||
32 | { |
||
33 | |||
34 | private $documentos = []; ///< Documentos que se deben reportar en el consumo |
||
35 | |||
36 | /** |
||
37 | * Método que asigna los documentos que se deberán reportar en el consumo de |
||
38 | * folios |
||
39 | * @param documentos Arreglo con los códigos de DTEs a reportar |
||
40 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
41 | * @version 2016-02-14 |
||
42 | */ |
||
43 | public function setDocumentos(array $documentos) |
||
47 | |||
48 | /** |
||
49 | * Método que agrega un DTE al listado que se enviará |
||
50 | * @param detalle Arreglo con el resumen del DTE que se desea agregar |
||
51 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
52 | * @version 2015-12-13 |
||
53 | */ |
||
54 | public function agregar(array $detalle) |
||
58 | |||
59 | /** |
||
60 | * Método para asignar la caratula |
||
61 | * @param caratula Arreglo con datos del envío: RutEnvia, FchResol y NroResol, etc |
||
62 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
63 | * @version 2016-08-06 |
||
64 | */ |
||
65 | public function setCaratula(array $caratula) |
||
83 | |||
84 | /** |
||
85 | * Método que genera el XML del consumo de folios para el envío al SII |
||
86 | * @return XML con el envio del consumo de folios firmado o =false si no se pudo generar o firmar el envío |
||
87 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
88 | * @version 2015-12-13 |
||
89 | */ |
||
90 | public function generar() |
||
117 | |||
118 | /** |
||
119 | * Método que entrega la fecha del primer documento que se está reportando |
||
120 | * @return Fecha del primer documento que se está reportando |
||
121 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
122 | * @version 2015-12-13 |
||
123 | */ |
||
124 | View Code Duplication | public function getFechaEmisionInicial() |
|
133 | |||
134 | /** |
||
135 | * Método que entrega la fecha del último documento que se está reportando |
||
136 | * @return Fecha del último documento que se está reportando |
||
137 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
138 | * @version 2015-12-13 |
||
139 | */ |
||
140 | View Code Duplication | public function getFechaEmisionFinal() |
|
149 | |||
150 | /** |
||
151 | * Método que permite agregar sólo resumen al libro, esto para |
||
152 | * poder agregar, por ejemplo, un día en el cual no se consumieron folios |
||
153 | * @param resumen Arreglo Eje: ['TipoDocumento' => 39, 'MntTotal' => 0, 'FoliosEmitidos' => 0, 'FoliosAnulados' => 0, 'FoliosUtilizados' => 0] |
||
154 | * @author Adonias Vasquez (adonias.vasquez[at]epys.cl) |
||
155 | * @version 2017-09-29 |
||
156 | */ |
||
157 | public function setResumen($resumen) |
||
172 | |||
173 | |||
174 | /** |
||
175 | * Método que obtiene los datos para generar los tags de Resumen del |
||
176 | * consumo de folios |
||
177 | * @return Arreglo con los datos para generar los tags Resumen |
||
178 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
179 | * @version 2016-02-14 |
||
180 | */ |
||
181 | private function getResumen() |
||
241 | |||
242 | /** |
||
243 | * Método que determina los rangos de los folios para el resumen del consumo |
||
244 | * de folios |
||
245 | * @param folios Arreglo con los folios que se deben generar sus rangos |
||
246 | * @return Arreglo con cada uno de los rangos de folios |
||
247 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
248 | * @version 2015-12-13 |
||
249 | */ |
||
250 | private function getRangos($folios) |
||
275 | |||
276 | /** |
||
277 | * Método que entrega la secuencia del envio |
||
278 | * @author Esteban De La Fuente Rubio, DeLaF (esteban[at]sasco.cl) |
||
279 | * @version 2016-02-14 |
||
280 | */ |
||
281 | public function getSecuencia() |
||
285 | |||
286 | } |
||
287 |
It seems like the type of the argument is not accepted by the function/method which you are calling.
In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.
We suggest to add an explicit type cast like in the following example: