Posts tagged: INI

"Quick Start" Symfony DI (dependency injection) Susipažinkite

, Šeštadienis 14d rugpjūčio 2010 2:21 pm

Kas yra dependency injection (DI)?

Dependency injection yra technika, kuri leidžia silpnai susijusios programinės įrangos objektus. Paprastai jei objektas reikalauja prieigos prie kitos funkcionalumą, ji bus instantiated viduje sandariai sujungtas sistemas. Įgyvendinant priklausomybės injekcija suleiskite objektų, paruoštas naudoti (kartais taip pat vadinamas inversija kontrolė - TOK). Paimkite šį pavyzdį:

  <? Php
 klasės, priima sprendimą {
     visuomenės funkcija makeDecision (masyvo $ parametrų) {
         / / Reikia adapteris duomenų bazės
         $ Dp = nauji DecisionParameters ();
         $ ParameterScore = $ DP-> getScore ($ parametrai);
         / * ...  Šiek tiek daugiau sprendimo logika ...  * /
         grįžimo ($ parameterScore> 50);
     }
 } 

Šis kodo fragmentą, turi būti sandariai sujungtas su DecisionParameters objektas. Perrašyti tai, kas išdėstyta pirmiau, silpnai susijusios mados mes norime ką nors panašaus ....

  <? Php
 klasės, priima sprendimą {
     privataus $ _dp;
     viešoji funkcija __construct ($ DP) {
         $ This-> _dp = $ DP;
     }
     visuomenės funkcija makeDecision (masyvo $ parametrų) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parametrai);
         / * ...  Šiek tiek daugiau sprendimo logika ...  * /
         grįžimo ($ parameterScore> 50);
     }
 } 

Nors vis mes pridėti sudėtingumo, pavyzdžiui, kad kiekvieną kartą, kai objektas yra instantiated, mes taip pat turime instancija savo priklausomybes ir perduoti šias per silpnai susijusios kodas nauda. Pavyzdžiui, šis:

  $ Pasirinkimas = nauji, priima sprendimą ();
 echo $ pasirinkimo> makeDecision (array ("pastangų" => "žemas", "grąžinimas" => "aukštas")); 

dabar tampa:

  $ Dp = nauji DecisionParameters ();
 $ Pasirinkimas = nauji, priima sprendimą ($ DP);
 echo $ pasirinkimo> makeDecision (array ("pastangų" => "žemas", "grąžinimas" => "aukštas")); 

Tokia situacija tampa labiau skausminga klasė priklausomybių skaičius yra padidintas, ir ką daryti, jei patys priklausomybes priklausomybių? Tai galima gana greitai tampa objekto administravimo košmaras! Įveskite dependency injection konteinerius (ar sistemas) ...
Tęsti svarstymo "Quick Start" Symfony DI (dependency injection) Susipažinkite "»

Maršrutas prašymus sitemap.xml užsakymą valdytojas / veiksmų

, trečiadienis 6 sausis 2010 12:13 esu

Kad tiesioginiai prašymai / sitemap.xml užsakymą kontroleris ir veiksmus savo Zend Framework tiesiog pridėkite savo application.ini arba alternatyviąją konfigūracijos failo (pvz., aš naudoti navigation.ini) taip:

 resources.router.routes.sitemap.route = "sitemap.xml"
 resources.router.routes.sitemap.defaults.controller = Indeksas
 resources.router.routes.sitemap.defaults.action = Svetainės medis

Pavyzdžiui kodą, išvedė sukurti kontrolieriaus veiksmų (pvz., mano Sitemap yra indeksas valdytojas, Sitemap) gali būti vertinamas:

 < PHP
 klasės IndexController
     išplečia Zend_Controller_Action
 {
     / **
      * Teikia Svetainės Zend_Navigation sąrankos
      * /
     viešoji funkcija sitemapAction ()
     {
    	 echo $ this-> view-> Navigacija () -> Svetainės ();
    	 $ This-> view-> maketą () -> disableLayout ();
    	 $ This-> _helper-> viewRenderer-> setNoRender (teisinga);
     }
 }

Sitemaps, gali greitai ir lengvai būti generuojami naudojant Zend_Navigation , labai greitai samouczku (ir apskritai labai naudinga Zend Framework, vadovėliai) , Zend casts - Dinamiškai sukurti meniu struktūra ir džiūvėsėliai .













Panorama tema pagal Themocracy

11 Lankytojai online dabar
7 svečiai, 4 reklaminių žinučių, 0 nariai
Maksimalus lankytojų šiandien: 16 at 09:13 am UTC
Šį mėnesį: 23 24-08-2011 05:40 pm UTC
Šiais metais: 130 28-03-2011 10:40 am UTC
Visą laiką: 130 28-03-2011 10:40 am UTC