PHP Dependency injection

Gestart doorOne2xs16 reacties102 weergaven

17 berichten · pagina 2 van 2

One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
Waarom voeg je een map naar setSession toe die dan SessionManager:SMILEYYYYYYYYYYYBEGIN:set aanroept?

Dat hoeft helemaal niet, je roept het object direct aan, geen nutteloze tussenwegen:

[COLOR= #0000BB]<?php

$container[/COLOR][COLOR= #007700][[/COLOR][COLOR= #DD0000]sessionManager[/COLOR][COLOR= #007700]]->[/COLOR]set[COLOR= #007700]([/COLOR][COLOR= #DD0000]name[/COLOR][COLOR= #007700],[/COLOR] [COLOR= #DD0000]Jesse[/COLOR][COLOR= #007700]);[/COLOR]

?>


En je hebt helemaal geen waslijst van includes als je een autoloader gebruikt.

toevoeging op 11 december 2014, 16:34:01:
Zoek op: Composer autoloader.

Je hebt meestal wel een bootstrap bestand ja, die dan die sessionManager registreert als service in je DI container.

Maar dat wordt (vaak) nog een stapje abstracter gemaakt door een klasse te maken die een andere klasse registreert, zoiets heet een service provider, het provide een service aan de DI container.

een service is een class die je registreert in je DI container

Maar ik herhaal: je moet al je classes autoloaden. Dan hoef je geen includes meer te gebruiken. Tegenwoordig doet men dat in php dmv namespaces.

En je moet bovendien, als je in een closure zit variables buiten de scope usen, daarom kreeg je ook een foutmelding. Maar je deed het ook verkeerd, zie dus ^.

Dus:

[COLOR= #0000BB]<?php

$naam[/COLOR] [COLOR= #007700]=[/COLOR] [COLOR= #DD0000]Raoul[/COLOR][COLOR= #007700];[/COLOR]

[COLOR= #0000BB]$zegNaam[/COLOR] [COLOR= #007700]= function()[/COLOR] use [COLOR= #007700]([/COLOR][COLOR= #0000BB]$naam[/COLOR][COLOR= #007700]) {[/COLOR]
  [URL="http://www.php.net/echo"]echo[/URL] [COLOR= #DD0000]Hallo ik ben [/COLOR] [COLOR= #007700].[/COLOR] [COLOR= #0000BB]$naam[/COLOR][COLOR= #007700];
};[/COLOR]

[COLOR= #0000BB]$zegNaam[/COLOR][COLOR= #007700]();[/COLOR]
0
One2xs

Bot · Topicstarter

Berichten
93.699
Reputatie
0
Punten
1,27
Lid sinds
Laatst gezien
http://www.sitepoint.com/dependency-injection-with-pimple/

Heb dat artikel nu doorgelezen en dat is wel de duidelijkste tot nu toe.
En ik heb in ieder geval het idee dat ik het begrijp.

Dus als iemand het nog wilt leren smile
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren