آژانس هواپیماییdaftare shoma
nexpay

قابلیت نصب Plugin روی برنامه های Php

شروع موضوع توسط PersianPC ‏19 مارس 2006 در انجمن PHP

  1. PersianPC

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    سلام،

    در این تاپیک می خوایم در مورد این بحث کنیم که چطوری می تونیم به برنامه های PHP مون، قابلیت نصب Plugin بدیم.

    کلا می خوایم در مورد راهکار ها، روش ها و اینکه کدوم روش در چه حالاتی بهتر و راحت تر و توسعه پذیر تر جواب میده.

    من به شخصه در این مورد تجربه ای ندارم ، طبق نیازی که دارم ، میخوام با این نوع سیستم اشنا بشم ، واسه همین خواهش میکنم از اساتید که بیان نظرات ، راهکارها و روش هاشون رو بگن ...

    ممنون از همه دوستان ...
     
  2. shankimout

    shankimout Registered User

    تاریخ عضویت:
    ‏17 می 2004
    نوشته ها:
    1,491
    تشکر شده:
    3
    محل سکونت:
    ساری . . . . . . . . . . . . . . Permanently Bann
    خوب من یکیشو میگم . نمیدونم این روش اسم داره یا نه . ما یه کلاس ایجاد میکنیم که یک تابع توش هست .


    مثلا در یک فرم عضویت


    بعد در جا های مخصوص کا این تابع رو صدا میزنیم . مثلا قبل از عضویت در سایت
    PHP:
     
    $plugin
    ->hand("after_registration");
     
    و موقعی که عضویت تموم شد

    PHP:
     
    $plugin
    ->hand("registration_complete");
     
    این تابع رو صدا میزنیم .

    این تابع میاد توی دیتا بیس میگرده ببینه ایا برای registration_complete هیچ plugin در نظر گرفته شده یا نه . حالا این دیتا بیس میتونه بصورت فایل های درون پوشه خاصی باشه یا هرجور دیگه

    خوب اگر مثبت بود و برای اون قسمت کدی در نظر گرفته شده بود اون کد اجرا میشه

    این یک روشش . بازم روش هست

    از این روش در vBulletin استفاده میشه . و با

    PHP:
     
    $vBulletin
    ->hook
     
    قابل دسترسی هست
     
  3. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    درسته دقیقا با همین روش ! یعنی مثلا هرجایی که میخوایم براش پلاگین در نظر بگیریم:
    PHP:
    load_plugins("newsadd");
     
  4. PersianPC

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    ممنون shankimout جان.
    یک همچین چیزی تو ذهنم بود ، اما به نظرم زیاد اصولی نمیاد این روش.
    بطور مثال سیستم هایی مثل mambo و phpnuke رو در نظر بگیر.
    ماژول ها بخش های جداگانه رو به سیستم اضافه میکنند ، برای مثال یک انجمن یا یک خبر نامه به سیستم اضافه میشه .فکر نمیکنم با این روش بشه ، اینکارا رو انجام داد ، درسته ؟

    ممنون میشم اگه روشهای دیگش رو هم بگی ، که در نهایت به روش خوب برسیم.

    بازم ممنون ...
     
  5. PersianPC

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    ببین سالار.
    منظور من یه چیزی که اتوماتیک کارها رو انجام بده ، یعنی نیازی نباشه که بصورت دستی کد لود پلاگین رو بنوسیم.
    مثلا وقتی این پلاگین از تو دیتابیس فعال شد ، کارهایی رو که باید انجام بده ، بدون نیاز اینکه ما دستی کدشو بنویسیم ، انجام بده !
     
  6. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    خیلی عجیبه چیزایی مثل وردپرس یا مامبو این کارو میکنن ولی نمیدونم چطوری
     
  7. shankimout

    shankimout Registered User

    تاریخ عضویت:
    ‏17 می 2004
    نوشته ها:
    1,491
    تشکر شده:
    3
    محل سکونت:
    ساری . . . . . . . . . . . . . . Permanently Bann
    خوب اینکه کاری نداره . من تمام سایت های حرفه ای رو با php مثل یه همچین چیزی در نظر میگیرم . یک پوشه در نظر میگیریم . مثلا modules و تمام فایل های درون اون رو لیست میکنیم . بعد همه رو میایم توی منو . . هرکدومشون کاری خاصی انجام میدن . مثلا فایل signup.php مساله عضویت رو به عهده میگیره و بطور مثال از ایندکس به این صورت یا صورت های دیگه صدا زده میشه index.php?module=signup .


    برای اجرای ماژول ها کافیه که اول ببینید اونا وجود دارن یا نه ؟ بعد اونهارو include کننین .

    اگر میخواهید کل section های عضویت رو درون یک فایل بزارید میتونید یه متغیر دیگه به نام do هم درش استفاده کنید . مثلا index.php?module=signup&do=showform

    من یه چند تا سایت رو اینجوری طراحی کردم .
    www.mpo-mz.ir
    www.anjoman-mazandaran.com
    www.bip-co.com
    www.nsrmazandaran.org

    تا ابروم نرفت اینو بگم که چون همه اینها template based انجام شدن 2 تا سایت اولو دیزاینشو یکی دیگه کرده و کار نوشتن ماژول رو من انجام دادم
     
  8. PersianPC

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    ممنون !
    متوجه شدم.
    حالا یه سوال دیگه !
    اگه بخوایم کاری کنیم که کد اصلی برنامه بتونه تاثیر پذیر بشه از این پلاگین ها باید چیکار کنیم ؟
    برفرض یک پلاگینی برای وردپرس هست که یک سری فیلد دلخواه که توسط user تنظیم میشه رو به بخش ارسال مطلب وردپرس اضافه میکنه ، یا مثلا پلاگینی که بخش اپلود وردپرس رو تغیر میده ...
     
  9. shankimout

    shankimout Registered User

    تاریخ عضویت:
    ‏17 می 2004
    نوشته ها:
    1,491
    تشکر شده:
    3
    محل سکونت:
    ساری . . . . . . . . . . . . . . Permanently Bann
    قشنگ منظورتو نفهمیدم . ولی میشه به اون گفت اپدیت ماژول اپلود وورد پرس
     
  10. sama_sally

    sama_sally Registered User

    تاریخ عضویت:
    ‏5 آپریل 2005
    نوشته ها:
    2,598
    تشکر شده:
    1
    محل سکونت:
    Essen, Deutschland
    منظورت یه چیزی مثل قضیه extends (وراثت) تویه OOP هست؟
     
  11. PersianPC

    PersianPC کاربر فعال صفحات داینامیک کاربر فعال

    تاریخ عضویت:
    ‏9 فوریه 2005
    نوشته ها:
    582
    تشکر شده:
    1
    محل سکونت:
    Tehran
    اره ! دقیقا همچین چیزی منظورمه !
     
  12. miladmovie

    miladmovie مدیر بازنشسته کاربر فعال

    تاریخ عضویت:
    ‏25 دسامبر 2002
    نوشته ها:
    1,936
    تشکر شده:
    2
    سیستم سرندیپیتی رو هم نیگاه کنید چیزه جالبی ! االبته من روش وقت نزاشتم که ببینم چیه طوری !
     
  13. avajang.com .leftjee.ir.right
zarpopخرید بک لینک عسل طبیعی و گرده گل ایرانی