[di] class naam voor vullen container

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

- Raoul -

- Raoul -

01/02/2013 21:37:25
Quote Anchor link
Hoi allemaal,

Heb het volgende config bestand (services.php):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php

return array(
  'router' => '\\Framework\\Routing\\Router',
);


?>


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

PHP hulp

28/11/2024 11:36:36
 
Local Dev

Local Dev

01/02/2013 22:29:01
Quote Anchor link
Lijkt mij meer dat je een controller naam moet gebruiken voor de router?
 
Wouter J

Wouter J

01/02/2013 23:02:40
Quote Anchor link
Ik zou het gewoon simpel houden en een DI\Loader\YmlFileLoader en bijv. een DI\Loader\XmlFileLoader maken.
 
- Raoul -

- Raoul -

01/02/2013 23:06:48
Quote Anchor link
Ik houd het liefst bij PHP. Dus gewoon DI\Loader?
 
Wouter J

Wouter J

01/02/2013 23:10:08
Quote Anchor link
Ik 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)
 
Ozzie PHP

Ozzie PHP

01/02/2013 23:57:34
Quote Anchor link
Waarom maak je in je container class niet een set functie die je gebruikt om je services te setten?
 
Wouter J

Wouter J

02/02/2013 00:02:29
Quote Anchor link
Ozzie, 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:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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]]

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.
 
Ozzie PHP

Ozzie PHP

02/02/2013 00:05:15
Quote Anchor link
Ah oke... wat een abracadabra weer :D
 
- Raoul -

- Raoul -

02/02/2013 10:28:58
Quote Anchor link
Thx voor het leuke voorbeeld Wouter.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.