Posts tagged: yaml

Permulaan Pantas Symfony DI (Suntikan Pergantungan) Tutorial

Oleh , Sabtu 14 Ogos 2010 14:21

Apakah Pergantungan Suntikan (DI)?

Suntikan pergantungan adalah satu teknik yang membolehkan objek yang longgar serta dalam aplikasi perisian. Umumnya jika objek memerlukan akses kepada fungsi yang lain, ia akan instantiated dalaman peneraju kepada sistem yang ketat serta. Oleh melaksanakan suntikan pergantungan kita menyuntik objek yang diperlukan sedia untuk digunakan (kadang-kadang juga dirujuk kepada penyongsangan kawalan - IOC). Ambil contoh berikut:

  <? Php
 kelas DecisionMaker {
     fungsi makeDecision awam (array $ parameter) {
         / / Perlu penyesuai pangkalan data
         $ Dp = baru DecisionParameters ();
         $ ParameterScore = $ dp-> getScore ($ parameter);
         / * ...  Keputusan beberapa logik ...  * /
         pulangan ($ parameterScore> 50);
     }
 } 

Sebidang kod ini dikatakan akan ketat digandingkan dengan objek DecisionParameters. Menulis semula di atas dalam fesyen yang longgar di samping kita akan mempunyai sesuatu seperti ....

  <? Php
 kelas DecisionMaker {
     swasta $ _dp;
     fungsi __ konstruk awam ($ dp) {
         $ Ini-> _dp = $ dp;
     }
     fungsi makeDecision awam (array $ parameter) {
         $ ParameterScore = $ this-> _dp-> getScore ($ parameter);
         / * ...  Keputusan beberapa logik ...  * /
         pulangan ($ parameterScore> 50);
     }
 } 

Walaupun mendapat manfaat kod yang longgar serta kami menambah kerumitan bahawa setiap kali objek yang instantiated kita juga harus memberi contoh kebergantungan dan lulus ini terlalu. Sebagai contoh, ini:

  $ Pilihan = DecisionMaker baru ();
 echo $ pilihan-> makeDecision (array ('usaha' => 'rendah', 'pulangan' => 'tinggi')); 

kini menjadi:

  $ Dp = baru DecisionParameters ();
 $ Pilihan = baru DecisionMaker. ($ Dp);
 echo $ pilihan-> makeDecision (array ('usaha' => 'rendah', 'pulangan' => 'tinggi')); 

Keadaan ini menjadi lebih menyakitkan kerana bilangan kebergantungan untuk kelas meningkat, dan apa jika kebergantungan diri mereka mempunyai kebergantungan? Ini secara sangat cepat boleh menjadi mimpi ngeri pentadbiran objek! Masukkan bekas suntikan pergantungan (atau rangka kerja) ...
Teruskan membaca 'Quick Start Symfony DI (Pergantungan Suntikan) Tutorial' »

Doktrin: DATETIME lalai SEKARANG ()

By , Rabu 30 Disember 2009 18:30

Saya telah bergelut dengan menubuhkan satu skema pangkalan data yang baru Rangka Kerja Zend projek. Saya menggunakan cuba menggunakan Doktrin PRO bagi model pangkalan data saya. Saya perlu menyediakan skema supaya ia membolehkan saya untuk menetapkan tarikh dan masa lalai untuk ruang `datetime`, contohnya apabila menambah mesej baru saya mendapat timestamp semasa. Selepas banyak mencari dan eksperimen saya mendapati penyelesaian jadi saya berkongsi.

Dalam skema YAML fail anda hanya lakukan yang berikut:

 Mesej:
   actAs:
     Timestampable:
       diwujudkan:
         Nama: created_at
         Jenis lawatan: timestamp
         format: Ymd H: i: s
       updated:
         name: last_updated
         Jenis lawatan: timestamp
         format: Ymd H: i: s
   tiang:
     id:
       Jenis lawatan: integer
       utama: benar
       autoincrement: benar
     nama: string (255)
     email: string (300)
     mesej: string (2000)

Jika pada tangan yang lain, anda tidak mahu `updated_at` ruang anda boleh menggunakan yang berikut:

 Mesej:
   actAs:
     Timestampable:
       diwujudkan:
         Nama: created_at
         Jenis lawatan: timestamp
         format: Ymd H: i: s
       updated:
         : benar OKU
   tiang:
     id:
       Jenis lawatan: integer
       utama: benar
       autoincrement: benar
     nama: string (255)
     email: string (300)
     mesej: string (2000)












Tema Panorama oleh Themocracy

8 pelawat online sekarang
7 tetamu, 1 bot, 0 ahli
Max pelawat hari ini: 11 pada 03:05 am UTC
Bulan ini: 18 di 2012/7/5 04:35 pm UTC
Tahun ini: 69 pada 27-02-2012 09:56 am UTC
Semua masa: 130 pada 28-03-2011 10:40 pm UTC