1
|
|
|
<?php |
2
|
|
|
|
3
|
|
|
namespace NFePHP\EFD\Blocks\Contribuicoes; |
4
|
|
|
|
5
|
|
|
use NFePHP\EFD\Elements\Contribuicoes as Elements; |
6
|
|
|
use NFePHP\EFD\Common\Block; |
7
|
|
|
use NFePHP\EFD\Common\BlockInterface; |
8
|
|
|
|
9
|
|
|
/** |
10
|
|
|
* Classe constutora do bloco 0 (inicial) EFD Contribuições |
11
|
|
|
* |
12
|
|
|
* Esta classe irá usar um recurso para invocar as classes de cada um dos elementos |
13
|
|
|
* constituintes listados. |
14
|
|
|
* NOTA: usada a letra z no inicio do elemento devido ao fato de não poder chamar classes |
15
|
|
|
* apenas com numeros e também para não confundir com os elementos do bloco B |
16
|
|
|
*/ |
17
|
|
|
final class Block0 extends Block implements BlockInterface |
18
|
|
|
{ |
19
|
|
|
const TOTAL = '0990'; |
20
|
|
|
|
21
|
|
|
public $elements = [ |
22
|
|
|
'z0000' => ['class' => Elements\Z0000::class, 'level' => 0, 'type' => 'single'], |
23
|
|
|
'z0001' => ['class' => Elements\Z0001::class, 'level' => 1, 'type' => 'single'], |
24
|
|
|
'z0035' => ['class' => Elements\Z0035::class, 'level' => 2, 'type' => 'single'], |
25
|
|
|
'z0100' => ['class' => Elements\Z0100::class, 'level' => 2, 'type' => 'single'], |
26
|
|
|
'z0110' => ['class' => Elements\Z0110::class, 'level' => 2, 'type' => 'multiple'], |
27
|
|
|
'z0111' => ['class' => Elements\Z0111::class, 'level' => 3, 'type' => 'multiple'], |
28
|
|
|
'z0120' => ['class' => Elements\Z0120::class, 'level' => 2, 'type' => 'multiple'], |
29
|
|
|
'z0140' => ['class' => Elements\Z0140::class, 'level' => 2, 'type' => 'multiple'], |
30
|
|
|
'z0145' => ['class' => Elements\Z0145::class, 'level' => 3, 'type' => 'multiple'], |
31
|
|
|
'z0150' => ['class' => Elements\Z0150::class, 'level' => 3, 'type' => 'single'], |
32
|
|
|
'z0190' => ['class' => Elements\Z0190::class, 'level' => 3, 'type' => 'multiple'], |
33
|
|
|
'z0200' => ['class' => Elements\Z0200::class, 'level' => 3, 'type' => 'multiple'], |
34
|
|
|
'z0205' => ['class' => Elements\Z0205::class, 'level' => 3, 'type' => 'multiple'], |
35
|
|
|
'z0206' => ['class' => Elements\Z0206::class, 'level' => 3, 'type' => 'multiple'], |
36
|
|
|
'z0208' => ['class' => Elements\Z0208::class, 'level' => 3, 'type' => 'multiple'], |
37
|
|
|
'z0400' => ['class' => Elements\Z0400::class, 'level' => 2, 'type' => 'multiple'], |
38
|
|
|
'z0450' => ['class' => Elements\Z0450::class, 'level' => 3, 'type' => 'single'], |
39
|
|
|
'z0500' => ['class' => Elements\Z0500::class, 'level' => 2, 'type' => 'multiple'], |
40
|
|
|
'z0600' => ['class' => Elements\Z0600::class, 'level' => 2, 'type' => 'multiple'] |
41
|
|
|
]; |
42
|
|
|
|
43
|
|
|
public function __construct() |
44
|
|
|
{ |
45
|
|
|
parent::__construct(self::TOTAL); |
46
|
|
|
} |
47
|
|
|
} |
48
|
|
|
|