پست های برچسب: yaml

سریع شروع سیمفونی DI (تزریق وابستگی) خودآموز

، شنبه 14th آگوست 2010 2:21 PM

وابستگی به تزریق (DI) چیست ؟

تزریق وابستگی به یک تکنیک است که اجازه می دهد تا آزادانه همراه اشیاء در درون یک برنامه نرم افزاری است. به طور کلی اگر یک شی مستلزم دسترسی به قابلیت های دیگر این امر می تواند به نمونه داخلی که منجر به سیستم های محکم همراه است. تزریق وابستگی اجرای تزریق اشیاء مورد نیاز را آماده برای استفاده است (گاهی اوقات نیز به وارونگی کنترل - IOC). نگاهی به مثال زیر:

  <؟ پی اچ پی
 کلاس DecisionMaker {
     makeDecision تابع عمومی (آرایه $ پارامتر) {
         / / نیاز به آداپتور پایگاه داده
         $ DP = جدید DecisionParameters ()؛
         $ parameterScore = $ DP-> getScore (پارامترها)؛
         / * ...  بیشتر منطق تصمیم گیری ...  * /
         بازگشت ($ parameterScore> 50)؛
     }
 } 

این قطعه از کد گفته می شود که به محکم به شی DecisionParameters همراه است. بازنویسی بالا را در مد آزادانه همراه می خواهم چیزی را دوست داشته باشند ....

 <؟ پی اچ پی DecisionMaker کلاس {خصوصی _dp دلار. عمومی تابع ساختار __ ($ DP) {$ این-> _dp = $ DP؛} makeDecision تابع عمومی (آرایه $ پارامتر) {$ parameterScore = $ این-> _dp-> getScore ($ پارامترها) / * ...  بیشتر منطق تصمیم گیری ...  * / بازگشت ($ parameterScore> 50)؛}} 

در حالی که به دست آوردن منافع از کد آزادانه همراه ما در حال اضافه کردن پیچیدگی به طوری که هر بار یک جسم نمونه ما نیز به نمونه وابستگیهای آن را بررسی و تصویب این خیلی در. به عنوان مثال، این:

  $ انتخاب = DecisionMaker جدید ()؛
 اکو انتخاب> makeDecision (آرایه ('تلاش' => 'پایین'، 'بازگشت' => ​​'بالا'))؛ 

در حال حاضر می شود:

  $ DP = جدید DecisionParameters ()؛
 دلار انتخاب = جدید DecisionMaker (DP)؛
 اکو انتخاب> makeDecision (آرایه ('تلاش' => 'پایین'، 'بازگشت' => ​​'بالا'))؛ 

این وضعیت دردناک تر می شود به عنوان تعدادی از وابستگیها برای یک کلاس افزایش می یابد، و اگر وابستگیهای خود را وابستگیهای چه؟ این کاملا می تواند به سرعت تبدیل به کابوس دولت شی! ظروف تزریق وابستگی (چارچوب) وارد کنید ...
ادامه خواندن "سریع شروع سیمفونی DI (تزریق وابستگی) آموزش '»

دکترین: به طور پیش فرض حسگر ناحیه رنگی کن ()

، چهارشنبه 30th دسامبر 2009 در ساعت 6:30 بعد از ظهر

من تلاش شده است با راه اندازی یک شمای پایگاه داده برای یک چارچوب جدید برنامه Zend پروژه. من با استفاده از تلاش برای استفاده از دکترین ORM برای مدل های پایگاه داده ام. من نیاز به راه اندازی طرح به طوری که آن را به من امکان تنظیم زمان و تاریخ به طور پیش فرض، `حسگر ناحیه رنگی، ستون، به عنوان مثال در هنگام اضافه کردن یک پیغام جدید من زمان کنونی است. بعد از کلی جستجو و تجربه که من پیدا کردم راه حل آن، بنابراین من آن را به اشتراک گذاری است.

در شمای YAML فایل خود را به سادگی زیر را انجام دهید:

 پیام:
   actAs:
     Timestampable:
       ایجاد شده:
         نام: created_at
         نوع: برچسب زمان
         فرمت: Ymd H: I: S
       به روز رسانی:
         نام: last_updated
         نوع: برچسب زمان
         فرمت: Ymd H: I: S
   ستون های:
     شناسه (شماره):
       نوع: عدد صحیح
       اصلی: صادق
       autoincrement: درست
     نام و نام خانوادگی: رشته (255)
     پست الکترونیک: رشته (300)
     پیام: رشته (2000)

اگر در طرف دیگر شما updated_at `ستون می خواهم شما می توانید زیر استفاده کنید:

 پیام:
   actAs:
     Timestampable:
       ایجاد شده:
         نام: created_at
         نوع: برچسب زمان
         فرمت: Ymd H: I: S
       به روز رسانی:
         معلول: درست
   ستون های:
     شناسه (شماره):
       نوع: عدد صحیح
       اصلی: صادق
       autoincrement: درست
     نام و نام خانوادگی: رشته (255)
     پست الکترونیک: رشته (300)
     پیام: رشته (2000)












تم پانوراما توسط Themocracy

6 بازدید کننده اکنون آنلاین است.
6 مهمان، 0 رباتها، 0 عضو
بازدید کنندگان حداکثر امروز: 15 در 05:20 بعد از ظهر ساعت محلی UTC تنظیم شده اند
این ماه: 26 در 2012/04/04 10:27 PM ساعت محلی UTC تنظیم شده اند
در این سال 69 27-02-2012 09:56 ساعت محلی UTC تنظیم شده اند
تمام زمان ها: 130 28-03-2011 10:40 PM ساعت محلی UTC تنظیم شده اند