[di] class naam voor vullen container
- Raoul -
01/02/2013 21:37:25Hoi allemaal,
Heb het volgende config bestand (services.php):
Nu zou ik de DI container willen vullen met de classes in services.php, ik weet hoe dat moet, maar hoe zou ik dan die class naam voor die filler noemen? Iets als ContainerServiceFiller ofzo?
Raoul
Heb het volgende config bestand (services.php):
Nu zou ik de DI container willen vullen met de classes in services.php, ik weet hoe dat moet, maar hoe zou ik dan die class naam voor die filler noemen? Iets als ContainerServiceFiller ofzo?
Raoul
PHP hulp
28/11/2024 11:36:36Local Dev
01/02/2013 22:29:01Wouter J
01/02/2013 23:02:40Ik zou het gewoon simpel houden en een DI\Loader\YmlFileLoader en bijv. een DI\Loader\XmlFileLoader maken.
- Raoul -
01/02/2013 23:06:48Wouter J
01/02/2013 23:10:08Ik zou er dan DI\PhpFileLoader van maken, dan hou je later de toegang tot andere file types niet tegen.
En waarom wil je eigenlijk alleen PHP gebruiken? Het gebruiken van Yml of (wat beter is) Xml beperkt je, waardoor je beter DI gaat schrijven (in elk geval, zo ervaar ik het)
En waarom wil je eigenlijk alleen PHP gebruiken? Het gebruiken van Yml of (wat beter is) Xml beperkt je, waardoor je beter DI gaat schrijven (in elk geval, zo ervaar ik het)
Ozzie PHP
01/02/2013 23:57:34Wouter J
02/02/2013 00:02:29Ozzie, dat gebruik hij wel. Alleen je configureert vaak niet direct de container, je schrijft alleen config bestandjes die definiëren hoe de container geconfigureerd moet worden.
Bijv:
Dit yaml bestandje configureert een `wj_admin.admin_locator.class` parameter en een service die deze klasse aanmaakt en daarbij een finder service meegeeft aan de constructor en vervolgens setAdminFactory aanroept en daar een admin_factory service aan mee geeft.
Bijv:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
parameters:
wj_admin.admin_locator.class: Wj\AdminBundle\Locator\Admin
services:
wj_admin.admin_locator:
class: "%wj_admn.admin_locator.class"
arguments: [@finder]
calls:
- [setAdminFactory, [@admin_factory]]
wj_admin.admin_locator.class: Wj\AdminBundle\Locator\Admin
services:
wj_admin.admin_locator:
class: "%wj_admn.admin_locator.class"
arguments: [@finder]
calls:
- [setAdminFactory, [@admin_factory]]
Dit yaml bestandje configureert een `wj_admin.admin_locator.class` parameter en een service die deze klasse aanmaakt en daarbij een finder service meegeeft aan de constructor en vervolgens setAdminFactory aanroept en daar een admin_factory service aan mee geeft.