• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
سوال در مورد event
#1
سلام

در زند فریم ورک ۲ از event استفاده زیاده شده. ولی من متاسفانه چیز زیادی در مورد event نمیدونم. هم اینکه اصولا چی هست و به چه کاربردی داره و اینکه کجا و به چه شکل بهتر استفاده بشه

کسی میتونه توضیح یا داکیومنتی در این مورد بگذاره؟
  پاسخ
تشکر شده توسط :
#2
سلام منم خودم اطلاعات کمی در این مورد دادم .چون به تازگی دارم با زند دو کار میکنم.
اونت دیگه مثلا میگه وقتی تصدیق هویت افتاد این اتفاق بیوفته . یا مثلا من دیدم وقتی کاربر لاگین میکنه با اونتها چک میکنن و کاربر رو تصدیق میکنن یا رد میکنن .
من در همین حد بلدم . اما یکی رو میشناسم که تا ساعاتی دیگه ظهور میکنه و این تاپیک رو به اتیش میکشه . منتظرش باش Big Grin
  پاسخ
تشکر شده توسط : voltan
#3
نقل قول:من در همین حد بلدم . اما یکی رو میشناسم که تا ساعاتی دیگه ظهور میکنه و این تاپیک رو به اتیش میکشه . منتظرش باش

Big Grin
رویدادها کلا چیز خیلی خوبیه Big Grin
رویدادها استفادش اینه که شما وقتی که یک فعالیتی انجام میشه شما می خوایین در هنگامی که اون رویداد انجام میشه
شما هم یک فعالیتی رو داشته باشین.
توی زند فریم ورک که خیلی روی رویدادها کار کرده روند کار به این صورت هست
یک رویداد با یک یا چند نام واحد به سیستم رویداد اضافه میشه
یک سری از قسمتهای نرم افزار به سیستم رویداد اعلام می کنن که در هنگامی که این رویداد اجرا شد این عملیات انجام بشه. در این حالت میگیم که یک فعالیتی رو به رویاد attach می کنیم
سپس در قسمتی از نرم افزار رویداد اجرا میشه. که در این حالت میگیم رویداد trigger میشه و هر فعالیتی که به این رویداد attach شده بود اجرا میشه.

راهنمای کاملش اینجاست
http://packages.zendframework.com/docs/l...nager.html


البته داخل خود زند فریم ورک هم یک سری رویداد تریگر میشه. توی هر قسمت که بخونین در موردش گفته که چیا هستن. مثلا توی ماژولها این رویدادها اجرا میشه
http://packages.zendframework.com/docs/l...nager.html
  پاسخ
تشکر شده توسط : voltan
#4
خیلی خیلی ممنون از راهنمایی.

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

نمیدونم این استدلال درسته یا نه
  پاسخ
تشکر شده توسط :
#5
تقریبا استدلال درسته.
مثلا ما ماژول کاربر رو داریم. بعد مثلا یه ماژول sms میزاریم. و ماژول اس ام اس روی رویداد لاگین کاربر اتچ میشه و در صورت لاگین کاربر براش اس ام اس ارسال می کنه.
  پاسخ
تشکر شده توسط : voltan
#6
دیدی گفتم میادش Big Grin
  پاسخ
تشکر شده توسط :
#7
رویداد های زند چه مزایایی دارند که باعث بشن بجای استفاده از توابع خودمون از رویدادهای زند کمک بگیریم؟!
  پاسخ
تشکر شده توسط :
#8
یعنی شما خودت رویداد رو پیاده سازی کردی؟
  پاسخ
تشکر شده توسط : voltan
#9
نقل قول:رویداد های زند چه مزایایی دارند که باعث بشن بجای استفاده از توابع خودمون از رویدادهای زند کمک بگیریم؟!

نقل قول:یعنی شما خودت رویداد رو پیاده سازی کردی؟

وقتی یکی دوتا پست تو این تاپک زده شد من هم داشتم به همین موضوع فکر میکردم. من از سیستم مدیریت محتوای زوپس برای پروٰه استفاده میکنم. توی ماژول های که نوشته شده یا خودم نوشتم به طور جسته و گریخته چیز های شبیه به رویداد بود. مثلا (( وقتی خبر ارسال شده توسط یک عضو رو مدیر تایید کرد به تعداد پست های ارسالی کاربر یکی اضافه بشه )). این میتونه یه ایونت باشه . ولی چیزی که من دیدم اینه که این نوع کد نویسی اصلا قانون مند نیست. مثلا وقتی کاربر عکس ارسال کنه چیزی به پست هاش اضافه نمیشه. توی یه ماژول خبری بعد از ارسال تعداد پست هاش یکی زیاد میشه و توی یه ماژول دیگه بعد از تایید. همین چیز کوچیک توی هر ماژول به یه شکل پیاده شده و هیچ منطق مشخصی توی کل سیستم نداره. در طول زمان توسعه دنده های مختلف نظرات شخصی خودشون رو تو اون لحظه خاص اعمل کرد که در خیلی از جاها متضاده و شاید حتی غیر قابل تشخیص

به نظرم استفاده از چیزی مثل رویداد های زند ( یا به طور کلی رویداد )‌این موضوع رو قانون مند و قابل کنترل میکنه ومیتونه بهش یه سمت و سوی مشخص برای توسعه و استفاده بده

البته این برداشت شخصی نه و امیدوارم درست متوجه شده باشم
  پاسخ
تشکر شده توسط :
#10
برای درک بهتر رویداد یا event و روش کار می تونم جی کوئری رو مثال بزنم.

در جی کوئری شما رویداد هایی مثل click, hover رو دیدید. در واقع هی شی یا آبجکت می تونه بک یا چندین رویداد استاندارد داشته باشه و این قابلیت هم هست که رویداد های اختصاصی و سفارشی برای ایجاد کنید.

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


در حالت سفارشی هم می تونییم یک رویداد به نام OnUserLogin تعریف کنیم. بعد در تابع لاگینمون این رویداد رو صدا trigger کنیم.

حالا هر کجای کد برنامه مون که برای این رویداد تیکه کد، فانکشن یا ... رو bind,attach, یا (هر اصطلاح دگیری به معنای پیوند زدن باشد) کرده باشیم. تمامشون اجرا بشه

در کل انعطاف پذیری رو در حد تیم ملی بالا می بره. اما اگر کمی ناخردمندانه ازش استفاده بشه. باز زیادی رو سیستم میاره و ممکن هست مموری زیادی مصرف بشه. یا تاخیر در پاسخ ها ایجاد بشه. برای همین هوشمندانه استفاده کنید.

مطالب بالا به صورت کلی پیرامون این موضوع بیان شده.
  پاسخ
تشکر شده توسط : admin voltan


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان