Posts tagged: yaml

Quick Start Symfony DI Tutorial (Inxección de dependencias)

Por , sábado 14 de agosto de 2010 14:21

¿Que é Inxección de dependencias (DI)?

Inxección de dependencia é unha técnica que permite a obxectos feblemente encaixados dentro dun programa de software. Xeralmente, se un obxecto require acceso á función doutro sería instanciado internamente líder para sistemas estreitamente encaixadas. Por inxección de dependencia implementación injetamos os obxectos necesarios listo para o seu uso (por veces tamén referida investimento de control - IOC). Vexa o seguinte exemplo:

  <? PHP
 decisor clase {
     makeDecision función pública (array $ Parameters) {
         / / Hai que do adaptador de base de datos
         $ DP = new DecisionParameters ();
         ParameterScore $ = $ dp-> getScore (R $ parámetros);
         / * ...  Lóxica de decisión un pouco máis ...  * /
         return ($ parameterScore> 50);
     }
 } 

Este anaco de código está dito para ser firmemente axustado ao obxecto DecisionParameters. Reescrevendo o anterior dun xeito flexible, teriamos algo ....

  <? PHP
 decisor clase {
     private $ _dp;
     public function __ construct ($ dp) {
         $ This-> _dp = $ dp;
     }
     makeDecision función pública (array $ Parameters) {
         ParameterScore $ = $ this-> _dp-> getScore (R $ parámetros);
         / * ...  Lóxica de decisión un pouco máis ...  * /
         return ($ parameterScore> 50);
     }
 } 

A pesar de gañar os beneficios de código de baixo acoplamento estamos engadindo complexidade tal que cada vez que un obxecto é instanciado tamén temos que instanciar súas dependencias e paso-los moito. Por exemplo, este:

  $ Decisor elección = new ();
 echo $ elección> makeDecision (array ('esforzo' => 'Baixar', 'return' => 'alta')); 

torna-se agora:

  $ DP = new DecisionParameters ();
 $ Escolla = new decisor ($ dp);
 echo $ elección> makeDecision (array ('esforzo' => 'Baixar', 'return' => 'alta')); 

Esta situación se fai máis doloroso como o número de dependencias dunha clase é aumentado, e que as dependencias se teñen dependencias? Isto pode rapidamente se tornar un pesadelo administración obxecto! Introduza recipientes inxección de dependencia (ou frameworks) ...
Continúe lendo "Quick Start Symfony DI Tutorial (Inxección de dependencias) '»

Doutrina: default datetime NOW ()

Por , mércores 30 de decembro de 2009 18:30

Eu estiven loitando coa creación dun esquema de base de datos para un novo Zend Framework proxecto. Eu son utilización tentando utilizar Doutrina ORM para os meus modelos de base de datos. Eu teño configurar o sistema para que me permitiu definir un estándar de data e hora para unha columna `` datetime, por exemplo, engadindo unha nova mensaxe eu recibín o timestamp actual. Despois de moito buscar e experimentar atopei a solución así que eu estou compartindo-o.

No seu esquema YAML arquivo simplemente faga o seguinte:

 Mensaxe
   actas:
     Timestampable:
       creado:
         nome: created_at
         Tipo: timestamp
         formato: Ymd H: i: s
       actualización:
         nome: last_updated
         Tipo: timestamp
         formato: Ymd H: i: s
   columnas:
     ID:
       Tipo: integer
       primario: true
       autoincrement: true
     nome: cadea (255)
     correo electrónico: cadea (300)
     corda (2000): mensaxe

Por outra banda non quere un `updated_at columna` pode utilizar o seguinte:

 Mensaxe
   actas:
     Timestampable:
       creado:
         nome: created_at
         Tipo: timestamp
         formato: Ymd H: i: s
       actualización:
         persoas con discapacidade: true
   columnas:
     ID:
       Tipo: integer
       primario: true
       autoincrement: true
     nome: cadea (255)
     correo electrónico: cadea (300)
     corda (2000): mensaxe












Tema por Panorama Themocracy

4 convidados en liña agora
3 visitantes, 1 bots, 0 membros
Max visitantes hoxe: 12 ás 01:24 am UTC
Este mes: 26 en 2012/04/04 10:27 UTC
Este ano: 69 en 27-02-2012 09:56 pm UTC
Todas as horas: 130 en 28-03-2011 10:40 UTC