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

oxygenws

Active Member
سلام،

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

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

- ممنون میشم راهکار ها و نظراتتون رو ارسال کنید.
- ممنون میشم سوال هایی که از بین صحبت های دوستان براتون پیش میاد رو در تاپیک های مجزا بپرسید. (مگر اینکه خیلی خیلی خیلی به بحث نزدیک باشه)

ممنون و موفق باشید.

پ.ن: برای انتظام این تاپیک، ارسال های بی هویت و بی هدف حذف خواهند شد.
 

amir_s

Active Member
من هم خیلی مشتاقم که بدونم !
به نظر من : در ساده ترین حالت اینطوری میشه :
1- لیست تمام فایل های PHP درون فولدر Plugins رو در آورد !
2 - یه فایل که تمام اون فایل ها رو Include میکنه رو Include کرد ...
3 - دیگه بقیه اش به عهده سیستمی هست که نوشته شده ... اما مهمترین و پیچیده ترینش هم همینه !


اگر بشه یه کاری کرد که خیلی راحت و منظم بشه یه قسمتی از کد رو در یه سری از فایل ها که از Plugin ها متاثر میشن ، حذف یا کلا مدیریت کرد خیلی خوب میشه
که البته بعید نیست ... اما مشکله !
 

miladmovie

Active Member
بحث جالبيه
راستش من شايد منظورت رو از پلاگين هنوز درست نفهميده باشم
مثلا ما يک سايت داريم, بعد ميام يک پلاگين نمايش تاريخ براي اون مي نويسيم و به سايت اضافه مي کنيم ؟
يک مرحله بايد داشته باشه که ما بيام و پلاگين امون رو به هسته اصلي تعريف کنيم

يکجاي ديگه بايد يک جوري فهميد که قرار اين پلاگين امون اگر اطلاعتي رو قرار نشون بده از کجا اين اطلاعت رو بايد بگيره ! (چي گفتم خودم هم نفهميدم)
و ... چيز هاي ديگه
من خودم هر وقت خواستم شروع کنم به اين طوري نوشتن اين قدر استثنا پيش اومد که اصلا اون چيزي نشد که مي خواستم !


اميد خودت يکم بحث رو باز کني بهتره !
 

oxygenws

Active Member
ممنون از دوستانی که نظر دادند.

میشه گفت بسته به شرایط برنامه، میشه افزونه (پلاگین) های متفاوتی نوشت، با ساختار های متفاوت و قابلیت های متفاوت.

خلاصه بگم، تو این بحث می خوام در مورد روش های "استاندارد کردن" برنامه مون، با یه سری برنامه های خارجی صحبت کنیم (منظورم وب سرویس ها نیستند هاااا)

شاید بهتر باشه با یک مثال و محدود کردن بازه فکری دوستان بریم جلو..... اکثرتون ماژول های (یا کامپوننت ها یا ...) موجود در سیستم های mambo یا phpNuke یا ... رو دیدین، بهتره فعلا فقط در مورد ماژول ها صحبت کنیم. به نظر شما چطور میشه برنامه ای رو توسعه داد، که مثل مامبو ماژول-پذیر باشه.

ممنون میشم توضیح بدین، توجه کنید که تقریبا سطح علمی هممون تو این بحث تو یه مایه است، پس در مطرح کردن نظرتون شک نکنید.

موفق باشید.
 

Ali_ix

Well-Known Member
میشه اینطور پلاگینهارو دسته بندی کرد ؟ :
1. پلاگینهایی که اجزا یا محتوای جاری و اصلی سیستم رو تغییر یا تحت تاثیر قرار میدهند
2. پلاگینهایی که یک قابلیت و بخش جدید و جداگانه به سیستم اضافه میکنند.

مثلا برای یک پورتال مورد اول میتونه امکان نمایش 5 کاربر فعال اون پورتال باشه! (مثلا)
و مورد دوم امکانن اضافه کردن یک گالری عکس به پورتال.

میشه یا نمیشه ؟
 

oxygenws

Active Member
میشه حداقل به این دو دسته ای که گفتی دسته بندی شون کرد. اما نهایتا همونطور که گفتم....
میشه گفت بسته به شرایط برنامه، میشه افزونه (پلاگین) های متفاوتی نوشت، با ساختار های متفاوت و قابلیت های متفاوت.
میشه اینطوری تقسیمشون کرد.... مثلا ممکنه یه افزونه فقط خروجی داشته باشه، یه افزونه فقط ورودی و یکی هم خروجی و هم ورودی و یکی دیگه ....

میشه نسبت به زمان اجرا (فعال) شدن اون افزونه تقسیم بشن.

و ...

اگر فکر می کنید اول تمام انواع روش های دسته بندی افزونه ها رو مشخص کنیم بهتر باشه، بسم الله.... :)
 

amir_s

Active Member
احتمالا باید در صفحه ای که باید از ماژولها تاثیر بپذیره (!) متغییری تعریف کنیم که اطلاعات و خروجی هر کدوم از ماژول ها اون تو ست بشه ...
و جای مناسبش اون متغیر چاپ بشه !
البته فکر میکنم خیلی ساده و ابتداییه ... اما طرز کارش فکر کنم بد نباشه !
 

armin_390

New Member
با سلام؛
در مورد پلاگین خوب به نظر من می تونیم این طوری تقسیم کنیم(البته در پست های قبلی هم گفته شده ولی من برای نظم بهتر می گم):
1- پلاگین های که مربوط به سیستم ورودی و خروجی نهایی هستند.
2- پلاگین های کنترلی(امنیتی) که برای کنترل و فیلتر ورودی و یا خروجی و یا آرگومانی(یا بخشی از آن) که به یک تابع ارسال می کنیم و یا از آن می گیریم استفاده می شود.

به نظر من شرط اول اینکه برنامه ما قابلیت توسعه پلاگین را دارا باشد این است که سورس هسته کاملا مستقل از پلاگین ورودی باشد یعنی اینکه این پلاگین هیچ تغییری در ورودی ندهد بلکه تنها بستر انتخابهای مختلف سالم البته از نظر قالب(آزادی انتخاب در عین محدودیت!) را برای کاربر مهیا کند.
شرط دوم این است پلاگین خروجی قالب خروجی را تعیین کند نه هسته بدین معنی که هسته هیچ تاپیری در نمایش قالب خروجی و ظاهر پلاگین نداشته باشد.
از پلاگین های کنترلی هم برای کنترل عبارات و ... داخل هسته استفاده می شود و به هسته وابسته است ولی هسته به آن وابسته نیست(تا زمانی که ما آن را به پلاگین وابسته نکردیم) بدین معنی که هسته بدون نیاز به آن هم می تواند کار خود را به درستی ولی بدون کنترل عبارات و ... انجام دهد البته به شرطی که به خطا برنخورد.
در مورد پلاگین کنترلی چون به هسته وابسته است باید در سورس هسته دستکاری کنیم (که در نتیجه هسته هم به آن وابسته می شود) منظورم در واقع بافر عبارتی که به نوعی در سورس هسته (بین دو تابع یا ...) ردوبدل می شود و نیاز به کنترل دارد مثلا از طریق تعریف متغیر:
$sql=control->checkquery($sql);
mysql_query($sql);
 

جدیدترین ارسال ها

بالا