[DI] Goed op weg?
Wouter J
21/04/2012 17:57:38Sinds kort ben ik, aangemoedigd door Pim, begonnen met het gebruiken van DI in mijn applicatie.
Nu maak ik gebruik van Twig en voor het maken van een nieuwe Twig_Environment heb ik een DI versie gemaakt. Ben ik zo goed op weg, of is er nog veel te verbeteren?
Nu maak ik gebruik van Twig en voor het maken van een nieuwe Twig_Environment heb ik een DI versie gemaakt. Ben ik zo goed op weg, of is er nog veel te verbeteren?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$container = new \Pimple();
$container['template.loader.path'] = 'path/to/all/templates';
$container['template.loader'] = function ($c) {
return new \Twig_Loader_FileSystem($c['template.loader.path']);
};
$container['template.config'] = array(
'debug' => true,
'strict_variables' => true,
);
$container['template'] = function ($c) {
return new \Twig_Environment($c['template.loader'], $c['template.config']);
};
?>
$container = new \Pimple();
$container['template.loader.path'] = 'path/to/all/templates';
$container['template.loader'] = function ($c) {
return new \Twig_Loader_FileSystem($c['template.loader.path']);
};
$container['template.config'] = array(
'debug' => true,
'strict_variables' => true,
);
$container['template'] = function ($c) {
return new \Twig_Environment($c['template.loader'], $c['template.config']);
};
?>
PHP hulp
17/11/2024 19:55:15Pim -
22/04/2012 13:33:41Dat is prima. Het is niet zo moeilijk ;-).
Lastiger wordt het straks om je eigen lib netjes DI-achtig te maken en dan efficiënt je container rond te sturen.
Lastiger wordt het straks om je eigen lib netjes DI-achtig te maken en dan efficiënt je container rond te sturen.
Wouter J
22/04/2012 23:05:29Oké, mooi. Dan ga ik op deze manier verder werken, zal waarschijnlijk nog wel eens vragen of ik goed bezig ben...
Begin nu al wel in dit prille begin de voordelen in te zien. Je houd nu alleen perfect van elkaar gescheiden, stel je wilt van Twig_Loader veranderen dan hoef je maar 2 dingen te veranderen, de template.loader en de opties (in dit geval path) van de loader. De rest kan je dan gewoon zo laten.
Altijd leuk om nieuwe design patterns te ontdekken!
Offtopic:
Is het silex micro-framework nou compleet opgebouwd uit DI? Dat ziet er wel heel vet uit...
Begin nu al wel in dit prille begin de voordelen in te zien. Je houd nu alleen perfect van elkaar gescheiden, stel je wilt van Twig_Loader veranderen dan hoef je maar 2 dingen te veranderen, de template.loader en de opties (in dit geval path) van de loader. De rest kan je dan gewoon zo laten.
Altijd leuk om nieuwe design patterns te ontdekken!
Offtopic:
Is het silex micro-framework nou compleet opgebouwd uit DI? Dat ziet er wel heel vet uit...
Gewijzigd op 22/04/2012 23:11:04 door Wouter J
Niels K
24/04/2012 18:47:16Hebben jullie het Sphoof famework wel eens gezien? (gezien jouw offtopic bericht) Dit framework is door één van mijn vrienden gemaakt, en daarin zit (naar mijn mening) het DI - Pattern goed in verwerkt.