Posts tagged: yaml

เริ่ม Symfony ด่วนสอน DI (พึ่งพาการฉีด)

โดย , เสาร์ 14 สิงหาคม 2010 14:21

อะไรคือสิ่งที่ พึ่งพาการฉีด (DI)?

ฉีดอยู่เป็นเทคนิคที่ช่วยให้สำหรับวัตถุคู่อย่างอิสระภายในโปรแกรมซอฟแวร์ โดยทั่วไปถ้าวัตถุต้องเข้าถึงฟังก์ชันการทำงานของผู้อื่นก็จะสามารถ instantiated ภายในที่นำไปสู่​​ระบบคู่แน่น โดยการฉีดอยู่ที่การดำเนินการที่เราฉีดวัตถุที่จำเป็นพร้อมใช้งาน (บางครั้งยังเรียกผกผันของการควบคุม - IOC) นำตัวอย่างต่อไปนี้:

  <? PHP
 DecisionMaker คลาส {
     makeDecision ฟังก์ชันสาธารณะ ($ array พารามิเตอร์) {
         / / ต้องการอะแดปเตอร์ฐานข้อมูล
         $ DP = new DecisionParameters ();
         $ = $ parameterScore DP-> getScore (พารามิเตอร์ $);
         / * ...  ตรรกะการตัดสินใจบางคนอื่น ๆ ...  * /
         ผลตอบแทน ($ parameterScore> 50);
     }
 } 

ชิ้นส่วนของรหัสนี้จะกล่าวจะคู่แน่นกับวัตถุที่ DecisionParameters เขียนใหม่ดังกล่าวข้างต้นในแฟชั่นคู่อย่างอิสระที่เราต้องการมีบางอย่างเช่น ....

 <? DecisionMaker PHP ชั้น {ส่วนตัว $ _dp; ฟังก์ชั่นการสร้างสาธารณะ __ ($ DP) {$ this-> _dp = $ DP;} makeDecision ฟังก์ชันสาธารณะ (พารามิเตอร์ $ array) {$ parameterScore = $ this-> _dp-> getScore ($ พารามิเตอร์) / * ...  ตรรกะการตัดสินใจบางคนอื่น ๆ ...  * ผลตอบแทน / ($ parameterScore> 50);}} 

ขณะที่การดึงดูดประโยชน์ของรหัสคู่อย่างอิสระเราจะเพิ่มความซับซ้อนดังกล่าวว่าแต่ละครั้งที่วัตถุเป็น instantiated เรายังมีการยกตัวอย่างการอ้างอิงและผ่านการเหล่านี้ในมากเกินไป ตัวอย่างเช่นนี้:

  ทางเลือกที่ $ = DecisionMaker ใหม่ ();
 echo $ choice-> makeDecision (array ('พยายาม' => 'ต่ำ', 'กลับ' => 'สูง')); 

ตอนนี้กลายเป็น:

  $ DP = new DecisionParameters ();
 ทางเลือกที่ $ = new DecisionMaker ($ DP);
 echo $ choice-> makeDecision (array ('พยายาม' => 'ต่ำ', 'กลับ' => 'สูง')); 

สถานการณ์เช่นนี้จะกลายเป็นความเจ็บปวดมากขึ้นเป็นตัวเลขของการอ้างอิงสำหรับการเรียนจะเพิ่มขึ้นและสิ่งที่ถ้าการอ้างอิงตัวเองมีการอ้างอิง? นี้ค่อนข้างได้อย่างรวดเร็วสามารถกลายเป็นฝันร้ายบริหารวัตถุ! ใส่ภาชนะที่ฉีดอยู่ (หรือกรอบ) ...
อ่านต่อ 'Start Symfony ด่วนสอน DI (พึ่งพาการฉีด)' »

หลักคำสอน: เริ่มต้น DATETIME NOW ()

โดย , พุธ 30 ธันวาคม 2009 18:30

ฉันได้รับการดิ้นรนกับการตั้งค่าคีมาฐานข้อมูลสำหรับการใหม่ Zend Framework โครงการ ฉัน การใช้ พยายามที่จะใช้ ลัทธิ ออมสำหรับรุ่นฐานข้อมูลของฉัน ผมต้องตั้งค่าคีเพื่อที่จะอนุญาตให้ฉันไปกำหนดวันที่เริ่มต้นและเวลาสำหรับคอลัมน์ `` datetime เช่นเมื่อมีการเพิ่มข้อความใหม่ที่ฉันได้รับการประทับเวลาปัจจุบัน หลังจากการค้นหามากและการทดลองพบว่าวิธีการแก้ปัญหาดังนั้นฉันร่วมกัน

ในของคุณคี YAML ไฟล์ก็ทำต่อไปนี้:

 ข้อความ:
   actAs:
     Timestampable:
       ที่สร้าง:
         ชื่อ: created_at
         ประเภท: timestamp
         รูปแบบที่: Ymd H: i: s
       ปรับปรุงล่าสุด:
         ชื่อ: last_updated
         ประเภท: timestamp
         รูปแบบที่: Ymd H: i: s
   คอลัมน์:
     ID:
       ประเภท: จำนวนเต็ม
       หลักความจริง
       AutoIncrement: จริง
     ชื่อ: สตริง (255)
     อีเมล์: สตริง (300)
     ข้อความ: สตริง (2000)

ถ้าในขณะที่คุณไม่ต้องการ `คอลัมน์ updated_at` คุณสามารถใช้ต่อไปนี้:

 ข้อความ:
   actAs:
     Timestampable:
       ที่สร้าง:
         ชื่อ: created_at
         ประเภท: timestamp
         รูปแบบที่: Ymd H: i: s
       ปรับปรุงล่าสุด:
         พิการ: จริง
   คอลัมน์:
     ID:
       ประเภท: จำนวนเต็ม
       หลักความจริง
       AutoIncrement: จริง
     ชื่อ: สตริง (255)
     อีเมล์: สตริง (300)
     ข้อความ: สตริง (2000)












ธีมพาโนรามาโดย Themocracy

7 ผู้เข้าชมออนไลน์ในขณะนี้
5 แขก, 2 บอท, 0 สมาชิก
ผู้เข้าชมสูงสุดวันนี้: 18 เวลา 04:35 pm UTC
เดือนนี้: 18 ที่ 2012/07/05 04:35 UTC
ในปีนี้: 69 ที่ 27-02-2012 09:56 น. UTC
เวลาทั้งหมด: 130 ที่ 28-03-2011 10:40 UTC