Warning: fopen(/homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/gt-cache/ca/_ca_tag_yaml) [function.fopen]: failed to open stream: Disk quota exceeded in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1183

Warning: flock() expects parameter 1 to be resource, boolean given in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1184

Warning: fwrite(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1188

Warning: fclose(): supplied argument is not a valid stream resource in /homepages/30/d192847469/htdocs/evilprofessor.co.uk/public_html/wp-content/plugins/global-translator/translator.php on line 1190
Evilprofessor.co.uk »YAML

Posts tagged: YAML

Symfony d'inici ràpid de DI (Dependency Injection) Tutorial

Per , el dissabte 14 agost 2010 14:21

Què és la injecció de dependències (DI)?

La injecció de dependència és una tècnica que permet objectes dèbilment acoblats dins d'una aplicació de programari. En general, si un objecte requereix l'accés a la funcionalitat d'un altre que es crea una instància interna de lideratge als sistemes fortament acoblats. Per l'aplicació de la injecció de dependència que s'injecten els objectes necessaris llestos per al seu ús (de vegades també s'ha referit a la inversió de control - COI). Prenguem l'exemple següent:

  <? Php
 classe DecisionMaker {
     makeDecision funció pública (array $ paràmetres) {
         / / Necessita l'adaptador de la base de dades
         $ Dp = new DecisionParameters ();
         $ = $ ParameterScore dp-> getScore ($ paràmetres);
         / * ...  Alguns decisió més lògica ...  * /
         return ($ parameterScore> 50);
     }
 } 

Aquest fragment de codi es diu que està estretament acoblat a l'objecte DecisionParameters. La reescriptura de l'anterior en un sentit ambigu, tindríem una mena ....

  <? Php
 classe DecisionMaker {
     $ _dp Privada;
     public function __ construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     makeDecision funció pública (array $ paràmetres) {
         $ ParameterScore = $ this-> _dp-> getScore ($ paràmetres);
         / * ...  Alguns decisió més lògica ...  * /
         return ($ parameterScore> 50);
     }
 } 

Si bé l'obtenció dels beneficis del codi dèbilment acoblats que estan afegint una complexitat tal que cada vegada que un objecte es crea una instància que també hem de crear instàncies de les seves dependències i passar aquests en massa. Per exemple, això:

  $ Opcions = DecisionMaker nou ();
 echo $ opcions-> makeDecision (array ('esforç' => 'baixa', 'retorn' => 'alta')); 

ara es converteix en:

  $ Dp = new DecisionParameters ();
 $ Opcions = new DecisionMaker ($ dp);
 echo $ opcions-> makeDecision (array ('esforç' => 'baixa', 'retorn' => 'alta')); 

Aquesta situació es torna més dolorós que el nombre de dependències per a una classe s'incrementa, i el que si els mateixos tenen les dependències de les dependències? Això pot molt ràpidament convertir-se en un malson per a l'administració objecte! Introdueixi els contenidors de dependència d'injecció (o marcs) ...
Continuar llegint 'Symfony d'inici ràpid DI (Dependency Injection) Tutorial' »

Doctrina: Hora i data predeterminada NOW ()

Per , dimecres 30 de desembre 2009 18:30

He estat lluitant amb la creació d'un esquema de base de dades per a un nou Zend Framework projecte. Estic ús tractant d'usar Doctrina ORM per als meus models de bases de dades. Necessito configurar l'esquema perquè em va permetre fixar una data i hora predeterminades per un `` de la columna de data i hora, per exemple, quan s'afegeix un nou missatge em dóna la data i hora actual. Després de molt buscar i experimentar vaig trobar la solució, així que estic compartint.

En l'esquema YAML arxiu, simplement feu el següent:

 Missatge:
   Actes:
     Timestampable:
       de creació:
         Nom: created_at
         Tipus: data i hora
         format: Ymd H: i: s
       Actualitzat el:
         Nom: last_updated
         Tipus: data i hora
         format: Ymd H: i: s
   columnes:
     Identificació:
       Tipus: sencer
       primària: true
       autoincrement: true
     name: String (255)
     correu electrònic: string (300)
     message: String (2000)

Si per contra vostè no vol una `updated_at` de la columna es pot utilitzar el següent:

 Missatge:
   Actes:
     Timestampable:
       de creació:
         Nom: created_at
         Tipus: data i hora
         format: Ymd H: i: s
       Actualitzat el:
         persones amb discapacitat: true
   columnes:
     Identificació:
       Tipus: sencer
       primària: true
       autoincrement: true
     name: String (255)
     correu electrònic: string (300)
     message: String (2000)












Panorama Theme by Themocracy

8 visitants en línia ara
6 persones, 2 bots, 0 usuari
Capacitat màxima de visitants d'avui: 12 a 01:14 UTC
Aquest mes: 18 a 2012.05.07 16:35 UTC
Aquest any: 69 a 2012.02.27 09:56 UTC
En total: 130 en 2011.03.28 22:40 UTC