FormSlugExtension::afterCompile()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 11

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 11
rs 9.9
c 0
b 0
f 0
cc 1
nc 1
nop 1
1
<?php
2
/**
3
 * FormSlugExtension.php
4
 *
5
 * @copyright      More in license.md
6
 * @license        http://www.ipublikuj.eu
7
 * @author         Adam Kadlec http://www.ipublikuj.eu
8
 * @package        iPublikuj:FormSlug!
9
 * @subpackage     DI
10
 * @since          1.0.0
11
 *
12
 * @date           08.01.15
13
 */
14
15
declare(strict_types = 1);
16
17
namespace IPub\FormSlug\DI;
18
19
use Nette;
20
use Nette\Application\UI;
21
use Nette\DI;
22
use Nette\PhpGenerator as Code;
23
24
/**
25
 * Form slug control extension container
26
 *
27
 * @package        iPublikuj:FormSlug!
28
 * @subpackage     DI
29
 *
30
 * @author         Adam Kadlec <[email protected]>
31
 */
32
final class FormSlugExtension extends DI\CompilerExtension
33
{
34
	/**
35
	 * @param Code\ClassType $class
36
	 *
37
	 * @return void
38
	 */
39
	public function afterCompile(Code\ClassType $class) : void
40
	{
41
		parent::afterCompile($class);
42
43
		$builder = $this->getContainerBuilder();
44
45
		$initialize = $class->methods['initialize'];
46
		$initialize->addBody('IPub\FormSlug\Controls\Slug::register($this->getService(?));', [
47
			$builder->getByType(UI\ITemplateFactory::class)
48
		]);
49
	}
50
}
51