Ametikohad tagged: yaml

Quick Start Symfony DI (Sõltuvus Injection) Õpik

Autor , laupäev 14. august 2010 14:21

Mis on sõltuvust süsti (DI)?

Sõltuvust süsti on tehnika, mis võimaldab nõrgalt sidestatud objektide tarkvaraga. Üldiselt, kui objekt nõuab juurdepääsu funktsionaalsust teine ​​oleks konkretiseerita sisemiselt viib tihedalt sidestatud süsteemid. Rakendades sõltuvust süsti me süstida nõutud esemeid kasutusvalmis (mõnikord nimetatakse ka inversioon kontroll - ROK). Võtke järgmine näide:

  <? Php
 klassi DecisionMaker {
     avalikke ülesandeid makeDecision (array $ parameetrid) {
         / / Vajadus andmebaasi adapter
         $ Dp = new DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ parameetrid);
         / * ...  Veel otsust loogika ...  * /
         return ($ parameterScore> 50);
     }
 } 

See tükk kood on väidetavalt tihedalt ühendatud DecisionParameters objekt. Ümberkirjutamine eespool nõrgalt sidestatud mood me tahaks olla midagi ....

  <? Php
 klassi DecisionMaker {
     era $ _dp;
     avalik funktsioon __ konstruktsioon ($ dp) {
         $ This-> _dp = $ dp;
     }
     avalikke ülesandeid makeDecision (array $ parameetrid) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parameetrid);
         / * ...  Veel otsust loogika ...  * /
         return ($ parameterScore> 50);
     }
 } 

Kuigi üha kasu nõrgalt sidestatud kood lisame keerukust selline, et iga kord, kui objekt on instantiated meil on ka instantiate oma sõltuvusi ja andke need ka. Näiteks selline:

  $ Valik = new DecisionMaker ();
 echo $ valik-> makeDecision (array ('vaeva' => 'madal', 'Tagasi' => 'suur')); 

nüüd on:

  $ Dp = new DecisionParameters ();
 $ Valik = new DecisionMaker ($ dp);
 echo $ valik-> makeDecision (array ('vaeva' => 'madal', 'Tagasi' => 'suur')); 

Selline olukord muutub valulikuks, kui mitu sõltuvused klassi suurendatakse, ja mis siis, kui sõltuvused ise on sõltuvused? See võib üsna kiiresti muutuda objekti haldamine õudusunenägu! Sisesta sõltuvust süsti konteinereid (või raamistike) ...
Jätka lugemist "Quick Start Symfony DI (Sõltuvus Injection) Õpik" »

Õpetus: DateTime default NOW ()

Autor , kolmapäev 30. detsember 2009 18:30

Olen olnud hädas luua andmebaasi skeemi uue Zend Framework projekti. Ma olen kasutamine üritab kasutada doktriin ORM minu andmebaas mudeleid. Mul on vaja luua schema, nii et see võimaldas mul luua default kuupäev ja kellaaeg `datetime` veerg, näiteks kui lisate uue sõnum saan praegune timestamp. Pärast palju otsida ja proovida, leidsin lahenduse, et ma olen seda jagataks.

Oma skeemi YAML fail lihtsalt teha järgmist:

 Message:
   actAs:
     Timestampable:
       loodud:
         nimi: created_at
         tüüp: timestamp
         formaat: Ymd H: i: s
       muudetud:
         nimi: last_updated
         tüüp: timestamp
         formaat: Ymd H: i: s
   veerud:
     ID:
       tüüp: täisarv
       peamine: tõeline
       autoincrement: tõsi
     nimi: string (255)
     email: string (300)
     message: string (2000)

Kui teisest küljest te ei soovi `updated_at` veergu saab kasutada järgmist:

 Message:
   actAs:
     Timestampable:
       loodud:
         nimi: created_at
         tüüp: timestamp
         formaat: Ymd H: i: s
       muudetud:
         Puudega: tõsi
   veerud:
     ID:
       tüüp: täisarv
       peamine: tõeline
       autoincrement: tõsi
     nimi: string (255)
     email: string (300)
     message: string (2000)












Panorama Theme poolt Themocracy

7 külalist nüüd
6 külalist, 1 bots, 0 liiget
Max Külastusi täna: 14 kell 08:05 UTC
Sel kuul: 16 kell 2012/01/05 13:02 UTC
Sel aastal: 69 at 27-02-2012 09:56 am UTC
Kogu aeg: 130 at 28-03-2011 10:40 UTC