ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
توضیحاتش که خیلی واضحه. کجاش رو متوجه نشدین؟
ارسالها: 25
موضوعها: 10
تاریخ عضویت: اردیبهشت 1394
اعتبار:
0
تشکرها: 12
10 بار تشکر شده در 8 پست
فرقش دقیقا با کامپوننت چیه؟ یعنی چیزی که من فهمیدم اینه که میگه yii::$app یه سرویس لوکیتور هست. که یک سری کامپوننت داره، خوب چطوری یه سرویس لوکیتور دیگه تعریف کنم. یک مثال خوب میخواهم واسه درک بهتر کاربردش توی پروژه.
الان چیزی که من فهمیدم از تعریف سرویس لوکیتور: "یک شی که یک سری کامپوننت رو نگه میداره تا موقع نیاز درخواستشون کنیم" درسته؟
ارسالها: 3,701
موضوعها: 140
تاریخ عضویت: اردیبهشت 1394
اعتبار:
134
تشکرها: 195
3447 بار تشکر شده در 2120 پست
میتونید کلاس اختصاصی خودتون رو از این کلاس مشتق کنید و عناصر رو بهش اضافه کنید و هرجا خواستین فقط یه شئ ازش بسازین و به عناصر داخلش دسترسی پیدا کنید.
ارسالها: 25
موضوعها: 10
تاریخ عضویت: اردیبهشت 1394
اعتبار:
0
تشکرها: 12
10 بار تشکر شده در 8 پست
این رو متوجه شدم و نحوه کار کردش رو هم میدونم.
ابهام این جا هست که خوب ما کامپوننت رو در کانفیگ اپلیکیشن ست میکنیم دیگه چه نیازی هست که بیایم سرویس لوکیتور بسازیم. اصلا فلسفه وجودش چیه؟
ارسالها: 135
موضوعها: 4
تاریخ عضویت: اردیبهشت 1394
اعتبار:
11
تشکرها: 4
85 بار تشکر شده در 72 پست
نیازی نیست
درو اقع 2 روش متفاوت هستند و هردو دارند یه کار رو انجام میدند.
فلسفه وجودیش هم Inversion of Control هست.
درواقع Service Locator یه منطقی هست
برای سازماندهی و مرتب سازی و مدیریت سرویس ها بصورت مرکزی
- قالبیت توسعه
ممکنه شما بخوایید یه کامپونت یا اکستنشن که یه سرویس رو ارایه میده رو کانفیگ کنید با اینکه با کامپونت یا اکستنشنی که توسط شما توسعه داده شده ویا کتابخانه های جانبی non-Yii 3rd-party library جایگزین کنید.
برای مثال میتونیدurlManager توسعه داده شده توسط خودتون یا یه non-Yii 3rd-partylibrary که میتونه از urlManager پایه مشتق شده باشه یا نه، جایگزین urlManager پایه کنید بدون خونریزی یا درد...
یادگیری مداوم حداقل شرط لازم برای موفقیت در هر زمینه ای است که در آن فعالیت می کنید؛ هر روز چیز جدیدی بیاموزید.