كيف يمكن عمل نظام الإضافات أو Plugin فى الاسكربت






دليل المواقع



صفحة 1 من 2 12 الأخيرةالأخيرة
النتائج 1 إلى 15 من 20

الموضوع: كيف يمكن عمل نظام الإضافات أو Plugin فى الاسكربت

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    38

    كيف يمكن عمل نظام الإضافات أو Plugin فى الاسكربت



    السلام عليكم

    أخوانى الاعزاء أنا لى طلب بسيط وأتمنى منكم الرد علية

    كيف يمكن برمجة نظام الإضافات فى الاسكربت يعنى بمعنى أوضح أنا أريد أن أبرمج سكربت مثل مجلة إدارة محتوى مثلا أريد أن تدعم الإضافات مثل مجلة جملا والمنتديات مثل الهاكات والبلوكات الإضافية وغير ذلك . المطلوب هو كيف أبرمج نظام الإضافات أو الـ Plugin بحيث أقدر أعمل إضافات صغيرة مثل المديول والبلوكات والهاكات مثلا لكى يتم إضافتها فى المجلة بتاعى أو الاسكربت بتاعى

    أنا أريد الفكرة فقط ؟






    __________________
    لا إله إلا الله محمد رسول الله


  2. #2
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,759


    وانا ايضا اطالب بنفس الامر
    واعتقد عادة يتم استخدام XML





    __________________
    FaceBook Application Developer
    تعلم برمجة سكريبت جلب المحتوى خطوة بخطوة
    مشروعى داخل معرض الاتصالات
    لمراسلتي إضغط هنا
    سبحان الله وبحمده سبحان الله العظيم

  3. #3
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    وانا معاكم

    انا اعتقد انها بتم رفع الملفات php الي المكان المحدد
    وملفات html الي المكان محدد ليها بردك

    وملفات الخاصة بلوحة التحكم بيتم رفعها الي مكان مخصص ليه في مجلد لوحة التحكم


    دية فكرة الي انا عارفها بس xml مع php معرفش فيها ايه حاجة

    ان شاء الله نلقي اي حد يشرحها





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  4. #4
    عضو فعال
    تاريخ التسجيل
    Jan 2008
    المشاركات
    1,802


    وانا معاكم

    انا اعتقد انها بتم رفع الملفات php الي المكان المحدد
    وملفات html الي المكان محدد ليها بردك

    وملفات الخاصة بلوحة التحكم بيتم رفعها الي مكان مخصص ليه في مجلد لوحة التحكم


    دية فكرة الي انا عارفها بس xml مع php معرفش فيها ايه حاجة

    ان شاء الله نلقي اي حد يشرحها
    هذه الطريقة التي تعمل بها مجلة جوملا ، لأني تعاملت معها من قبل ، لكن برمجيا فلا أدري عنها شيئا

    مثال لكومبوننت لمجلة جوملا كنت برمجته منذ مدة :

    كود:
    <?xml version="1.5" encoding="iso-8859-1"?> 
    <mosinstall version="1.0.13" type="component"> 
        <name>flash_quran</name> 
        <version>1.0</version> 
        <creationDate>23.03.2009</creationDate> 
        <author>Rifizm</author> 
        <authorEmail>info@rifizm.net</authorEmail> 
        <authorUrl>http://www.rifizm.net</authorUrl> 
        <copyright>Rifizm 2008</copyright> 
        <license>GNU General Public License</license> 
        <description>Flash Quran Component By Rifizm.net</description>
        <files>
            <filename component="flash_quran">flash_quran.php</filename>
        </files> 
        <administration> 
        <menu>flash_quran</menu> 
        <files>
                <filename>admin.flash_quran.php</filename>   
       </files> 
        </administration> 
        <params /> 
    </mosinstall>
    أعتقد هناك طريقة أخرى مثل هاكات ال VB ، كيث يتم وضع كود php في أماكن معينة من السكربت !!

    ننتظر الإخوة للإفادة .






  5. #5
    عضو فعال
    تاريخ التسجيل
    Jan 2008
    المشاركات
    1,802


    للرفع !!






  6. #6
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    هذه الطريقة التي تعمل بها مجلة جوملا ، لأني تعاملت معها من قبل ، لكن برمجيا فلا أدري عنها شيئا

    مثال لكومبوننت لمجلة جوملا كنت برمجته منذ مدة :

    كود:
    <?xml version="1.5" encoding="iso-8859-1"?> 
    <mosinstall version="1.0.13" type="component"> 
        <name>flash_quran</name> 
        <version>1.0</version> 
        <creationDate>23.03.2009</creationDate> 
        <author>Rifizm</author> 
        <authorEmail>info@rifizm.net</authorEmail> 
        <authorUrl>http://www.rifizm.net</authorUrl> 
        <copyright>Rifizm 2008</copyright> 
        <license>GNU General Public License</license> 
        <description>Flash Quran Component By Rifizm.net</description>
        <files>
            <filename component="flash_quran">flash_quran.php</filename>
        </files> 
        <administration> 
        <menu>flash_quran</menu> 
        <files>
                <filename>admin.flash_quran.php</filename>   
       </files> 
        </administration> 
        <params /> 
    </mosinstall>
    أعتقد هناك طريقة أخرى مثل هاكات ال VB ، كيث يتم وضع كود php في أماكن معينة من السكربت !!

    ننتظر الإخوة للإفادة .
    واعتقد الvb مثلة بس html في قاعدة البيانات





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    947


    الأكواد المذكورة بالأعلى ليست إلا طريقة لإضافة البيانات بنظام وهي عن طريق تخزينها بملف xml لكن يتم ادخالها في نظام ال vb الي قواعد البيانات بطريقة عادية بعد التعامل مع ملف ال xml بدوال التعامل مع ال xml في ال php.

    لكن الفكرة الأساسية لعمل ال plugins في ال vb هو نظام الخطاطيف او كما يطلقون عليه hooks
    فعند بداية أي عمل على سبيل المثال عند بداية (اضافة موضوع جديد - ارسال رسالة خاصة جديدة - فتح المنتدى - فتح قسم معين ... الخ).
    ستجد ان ال vb استدعت هذه ال plugins عن طريق الكلاس vBulletinHook في كل هذه الاحداث المختصة بهذه الصفحة او الخاصة بهذا العمل و تم ادخالها الى التابع eval ليتم تنفيذ هذه الإضافة





    التعديل الأخير تم بواسطة مهندس مصرى ; 11-12-2009 الساعة 01:09 PM
    __________________
    قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Aug 2007
    المشاركات
    508


    اضم صوتي لصوتكم
    المرجو من احد الاخوة شرح الطريقة و لو بشكل عام

    كيف يمكن جعل السكربت يقبل الاضافات
    كيف يتم اضافتها
    كيف يتم تخزين الاضافات في السكربت
    كيف يتم استدعائها و تنفيدها

    و شكراا





    التعديل الأخير تم بواسطة jawwwad ; 11-12-2009 الساعة 05:08 PM
    __________________
    قوالب ووردبريس مدفوعة

    تابع احدث الاعمال على الفيسبوك :https://www.facebook.com/almtwer


  9. #9
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,516


    تريد حل بسيط ...
    انسى ال xml وانسى التعقيد ... فهذه مشكلتنا نحن - نبدأ صغار ولكن ننظر الى ما فعله الكبار وهكذا نعقد برمجتنا ولا نرى النهاية بعدها...

    لكن فكر معي ... ما هي ابسط طريقة اضافات ؟؟؟!؟!؟

    لنفرض انه يوجد لديك مجلد اسمه plugins
    وهنا اريد ان اعطيك مثال بدون قاعدة بيانات بدون اي شئ ... مجرد حل بسيط وابسط من البسيط ...

    داخل هذا المجلد ... سوف نضع كل مودول (اضافة) في مجلد خاص ...
    وفي كل مجلد خاص يوجد ملف index.php
    وفي كل ملف كهذا يوجد أمر بهذه الطريقة
    contentPlugins[]=this_plugin_name
    المقصود من هذا السطر ... ان اضيف هذا المودول الى قائمة مودولات الفحوى

    ويمكن ان يكون مثلاً مودول آخر اسمه
    searchPlugins[]=this_serach_plugin

    وهكذا دوليك بكل المجلدات ...

    والآن الى البرنامج الرئيسي ...
    عندما نتعامل مع الفحوى اي content سوف نقوم بعمل دالة لوووب مثل
    foreach ($contentPlugins as $p=>$pp) evaluate($pp)
    وهكذا ايضاً مع البحث وغيره وغيره ...

    هذه طريقة بدائية بسيطة ... لكنها ستعمل... ولكن انتبه - هذا ليس كود ... بل خطوط رئيسية لكيفية عمل برنامج يدعم المودولز ...

    في المرحلة المتقدمة - يجب ان تحفظ بيانات هذه المودولات في قاعدة بيانات - كي لا تقوم بقرائة المعلومات بكل مرة من الملفات ...





    التعديل الأخير تم بواسطة massalha ; 11-12-2009 الساعة 05:15 PM
    __________________
    أحب سوالف ولا احب الجدليين!
    اسماء اولاد وبنات http://muslim-names.us
    1000 مزاد http://1000mazad.com
    موقع نكت سعوديةhttp://arab-jokes.net

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Sep 2004
    المشاركات
    35


    السلام عليكم
    عن طريق
    observer design pattern

    موضوع مرتبط
    http://stackoverflow.com/questions/4...hp-application
    http://devzone.zend.com/article/4284
    http://developer.yahoo.net/blog/arch..._stickleb.html

    وهذه مكتبه ممكن استخدامها لتدعم ال Plugins فى برامجك
    http://code.google.com/p/phpplexus/






  11. #11
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    الأكواد المذكورة بالأعلى ليست إلا طريقة لإضافة البيانات بنظام وهي عن طريق تخزينها بملف xml لكن يتم ادخالها في نظام ال vb الي قواعد البيانات بطريقة عادية بعد التعامل مع ملف ال xml بدوال التعامل مع ال xml في ال php.

    لكن الفكرة الأساسية لعمل ال plugins في ال vb هو نظام الخطاطيف او كما يطلقون عليه hooks
    فعند بداية أي عمل على سبيل المثال عند بداية (اضافة موضوع جديد - ارسال رسالة خاصة جديدة - فتح المنتدى - فتح قسم معين ... الخ).
    ستجد ان ال vb استدعت هذه ال plugins عن طريق الكلاس vBulletinHook في كل هذه الاحداث المختصة بهذه الصفحة او الخاصة بهذا العمل و تم ادخالها الى التابع eval ليتم تنفيذ هذه الإضافة
    جزاك الله خيرا اخي مهندس مصري
    بص حنا عوذين نبعد خالص عن vb احني عاوذ نعمل نظام الاضافات مثل اي مجلة بيتم الاضافة ليها اية هي الفكرة
    الرئيسية لو قلني مثلا مجلة جملة فيها نظام الاضافات

    فارجو اي حد يشرح الطريقة الرئيسية لنظام

    جزاكم الله خيرا





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  12. #12
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    ما فيش اي حد عندة فكرة؟؟؟





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

  13. #13
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,646


    الرجاء الالتفات إلى رد الأخ شادي مصالحة في الأعلى ..

    إن لم تكن قد فهمت الكلام المكتوب هناك، فالمقصود بالملخص المفيد هو:

    1. قم بإنشاء مجلد باسم plugins مثلاً ..

    2. قم بإنشاء مجلد لإضافتك داخل مجلد plugins وليكن plugin1 ..

    3. قم بإنشاء ملفات php بأسماء مختلفة بحيث كل ملف يحتوي على جزئية الإضافة لصفحة خاصة .. كي يتضح الأمر: مثلاً الإضافة الواحدة سوف تغيّر بعض الخصائص في أكثر من منطقة .. لو كان سكربتنا مثلاً فيه 3 مناطق، البحث، الملف الشخصي وعرض المواضيع .. وأماكن ثابتة كالهيدر والفوتر .. فالإضافة الواحدة يمكنها التعامل مع هذه الـ 5 مناطق بشكل افتراضي .. يمكنك بحد أقصى إنشاء 5 ملفات في هذا المجلد .. بالأسماء التالية:
    كود:
    plugin_header.php
    plugin_footer.php
    plugin_profile.php
    plugin_search.php
    plugin_display.php
    4. ضع في كل ملف الأوامر التي تريد تنفيذها في تلك المنطقة ..

    5. اصنع دالة خاصة لتشغيل الإضافات ولتكن:
    كود PHP:
    function execute_plugins($place$array) {
            foreach (
    $array as $val) {
                    
    $file './plugins/'$val .'_'$place .'.php';
                    if (
    file_exists($file)) require_once $file;
            }

    6. الآن نقوم بإضافة أسماء الإضافات المطلوب تشغيلها في ملف مشترك وليكن config.php مثلاً بالطريقة التالية:
    كود PHP:
    $plugins = array('plugin1'); 
    لاحظ أن المصفوفة تحتوي على عنصر واحد فقط وهو الإضافة التي أنشأناها ..

    7. نذهب إلى كل منطقة لنقوم باستدعاء ملفات الإضافات .. فمثلاً نذهب إلى ملف الهيدر header.php ونضيف فيه السطر التالي:
    كود PHP:
    execute_plugins('header'$plugins); 
    وكذلك في جميع الملفات، وهي footer.php و profile.php و search.php و display.php ..

    .. بهذا الشكل سيتم تنفيذ الإضافات في أماكنها وبالطريقة الصحيحة ..

    ملاحظات:
    * ما قمت به هو شرح لكلام الأستاذ شادي فقط وبلا تجارب ..
    * نظام الإضافات هذا بسيط وبدائي للغاية ولكن الغاية منه توضيح عمل الإضافات وليس الاستخدام في عمل احترافي .. عليك تطويره ليناسب عملك بشكلٍ أفضل .. كذلك راعِ جوانب الأمن والحماية فيه بشكل واسع .. وأيضاً نظام القوالب الذي تستخدمه ..
    * أي سؤال أو نقاط تطرح للنقاش نحن هنا سوف نناقش الموضوع إن شاء الله ..

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  14. #14
    عضو فعال
    تاريخ التسجيل
    Jan 2008
    المشاركات
    1,555


    طيب
    انت عندك مثلا نظام ادارة محتوي
    عاوز تضيف له موديل تصويت
    بنظري هيكون تفكيري كالتالي

    هعمل مجلد للـ Plugin
    ده يترفع عليه محتويات الفنكشنز الخاصه بالفوت و الصور الخاصه به و هكذا ...

    و بداخل لوحة التحكم اضيف مكان لاضافة البلج ان
    و في طريقين ؛

    أ-
    ادخل علي المكان يرفع ملف من جهازي و يرفع ملف PHP فيه اوامر بسيطه بتقول
    ضيف ليا في لوحة التحكم ركن خاص بالبلجن علشان اتحكم فيها منه و ضيفلي الفيلدز الخاصه بالبلج ان ده ( الابسط يكون جداول منفصله لكل بلج ان ) تمام ؟
    كدا البلج ان متفعل عندي نروح للطريقة التانيه و بعدها ندخل علي ما بعد التفعيل

    ب-
    او
    يكون في جدول خاص بالبلج انز فيه اسم البلج و حالته اكتف او لأ
    و مكان اضافة البلج ان يقرأ المجلدات في مجلد Plugin و يبقي في عرض ليها بحيث جنب كل بلج ان مفعل او لأ .. طبعا تضغط مثلا عليه ينفذ امر في القاعده انه يفعل البلج ده و يضيف الجداول بتاعته الي طبعا هتكون موجوده في ملف باسم ثابت لكل بلج ان علشان يبقي سهل الوصول له
    تمام ضفنا البلج ان و فعلناه


    ما بعد التفعيل ..
    طبعا لما يتفعل هيضيف ركن في اللوحه لاادرة البلج ان و تنفيذ اوامر السيكول بتاعته و قرائتها
    لو مش متفعل نعلم حركة انتكه كدا انه يقول خطأ معين ميظهر داتا بيز ارور

    طرق ازالة البلج ان
    طبعا لازم يكون في طريقة لحذف البلج ان
    ممكن تضيف حذف مع حذف كامل من الداتا بيز
    و حذف جزئي و طبعا ملف الحذف و الثبيت لازم ننتبه له لأنه ممكن يكون طريق لـ>>> تدمير البرنامج :d
    يعني نظبط تصاريح الملفات مع جروب معينه او الي له صلاحيات معينه


    بس ده كلام عقلي لو حبيت اعمل ده كنت هفكر بالشكل ده ) يا رب اكون عرفت اديلكو تصوري المبدأي





    __________________
    كن حكيم في استخدام عقلك

  15. #15
    عضو فعال
    تاريخ التسجيل
    Jul 2008
    المشاركات
    1,109


    جزاكم الله خيرا اخواني الكريم

    بصه اني الفكرة اولا انا ببرمج في مجلة بطار عمل فا هقولة علي حسب طريقة الي في دماغة بيها

    واحد اعمل مجلد في views لملفات html الخاصة بالاضافة للموقع
    اتنين مجلد في views لملفات html الخاصة بلوحة التحكم مع اضافة اسم الجلد في جدول خاص بلوحة التحكم للملفات البلوج

    ثلاثة اعمل جدول خاص بروابط الخاصة بقائمة الرئيسية عشان اضيف رابط الاضافة
    اربعة يتم رفع ملفات php الخاصة يلمتحكم الموقع في المجلد الخاص بيه في مجلد المتحكم
    خامسة رفع ملفات php المتحكم الخاصة بلوحة التحكم في مجلد المتحكم

    في هيكون الناتج مثلا انا اضفة اضافة مثلا معرض صور
    في يكون الرابط
    picture/home

    وهاكز

    بس انا بقول للمجلة نفسه يعني اي اضافة تضاف للمجلة نفسة مثل vbهكات والخ

    جزاكم الله خيرا





    __________________
    ســـــــبحان الله وبـــــــــحمده *سبـــــــــــحان الله العظيم
    لطلب البرمجة فقط
    helal-egypt@hotmail.com

صفحة 1 من 2 12 الأخيرةالأخيرة




ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  
0