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

الموضوع: يمكنك الاستغناء عن محركات القوالب

  1. #1

    يمكنك الاستغناء عن محركات القوالب



    بسم الله الرحمن الرحيم

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

    لنفرض اننا نريد استخراج معلومات من جدول الأعضاء
    ولدينا الجدول بهذه الطريقة
    user_id رقم العضو
    user_name اسم الدخول
    user_email البريد الالكتروني
    user_active صفر يعني غير مفعل و واحد يعني مفعل

    ملف users.php
    كود PHP:
    include('config.php'); // ملف الاتصال بالقاعدة
     // سنقوم بجلب اخر عشرة اعضاء 
    $sql=mysql_query("select * from users order by user_id desc limit 10 ");
    while( 
    $row=mysql_fetch_array($sql) ){
        
    $data[]=$row// سيتم حفظ جميع البيانات في مصفوفة
    }
    // نقوم بجلب ملف التصميم وطباعته
    // الملف موجود داخل مجلد templates
    include('templates/users.html');
    mysql_free_result($sql); // مسحه من الذاكرة
    unset($data); // مسحه من الذاكرة 
    ملف users.html
    كود PHP:
    <div id="users">
        <table border="0" cellspacing="1" cellpadding="1" style="background:#CEC2C2" width="100%">
        
    <   !-- بداية العنوان -->
            <tr style="background:#6DB568">
                <td>رقم العضو</td>
                <td>اسم الدخول</td>
                <td>البريد الالكتروني</td>
                <td>الحالة</td>
            </tr>
    <!--  نهاية العنوان -->
    <!-- بداية عرض البيانات-->
    <?php foreach( $data as $user ){  // بداية دالة استخراج ما في المصفوفة?>

            <tr style="background:#CEC2DD">
                <td><?php echo $user['user_id']; ?></td>
                <td><?php echo $user['user_name']; ?></td>
                <td><?php echo $user['user_email']; ?></td>
                <td><?php echo $user['user_active']; ?></td>
            </tr>

    <?php }  // غلق دالة التكرار?>
    <!-- نهاية العرض-->
        </table>
    </div>
    ولكن عند طباعة قيمة حقل الحالة active يتم طباعة اما صفر او واحد
    سنقوم بعمل شرط صغير اذا كان الحقل قيمته صفر سيطبع غير نشيط واذا كان واحد سنطبع نشيط
    ويكون هكذا

    سنستبدل هذا السطر
    كود PHP:
    <td><?php echo $user['user_active']; ?></td>
    بهذا
    كود PHP:
    <td>
    <?php
     
    if( $user['user_active'] == ){
        echo 
    'غير نشيط';
     }else{
        echo 
    'نشيط';
     }
    ?></td>
    كما يمكنك عمل اي شيئ داخل ملف التصميم المهم ان يكون ملف php بدون اكواد التصميم

    يمكن انشاء دالة لجلب ملفات التصميم مثلا
    ويتم حفظها في ملف اسمه مثلا functions.php
    كود PHP:
    function load_template($template){
        
    $folder='templates/'// مجلد يتم وضع فيه ملفات القوالب
        
    if( file_exists($folder.$template) ){
            include(
    $folder.$template);
        }else{
            echo 
    'ملف التصميم غير موجود <br />';
            echo 
    $template;
        }

    ويصبح الملف هكذا
    كود PHP:
    include('config.php'); // ملف الاتصال بالقاعدة
    include('functions.php'); // ملف الدوال
     // سنقوم بجلب اخر عشرة اعضاء 
    $sql=mysql_query("select * from users order by user_id desc limit 10 ");
    while( 
    $row=mysql_fetch_array($sql) ){
        
    $data[]=$row// سيتم حفظ جميع البيانات في مصفوفة
    }
    // نقوم بجلب ملف التصميم وطباعته
    load_template('users.html');
    mysql_free_result($sql); // مسحه من الذاكرة
    unset($data); // مسحه من الذاكرة 
    هذا فان اخطأت فمن نفسي والشيطان وان اصبت فمن الله عز وجل
    وصلي اللهم على محمد واله وصحبه اجمعين





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com


  2. #2


    تسلم ايدك اخي عبد الواحد مرجعك وترتيبك جميل جزاك الله كل الخير

    تقبل خالص التحية





    __________________
    حسابي فيسبوك
    https://www.facebook.com/ahmedo.vip/

    المبرمج
    http://www.almprmg.com/

    شركة اوريكو لتكنولوجيا المعلومات - استضافة وبرمجة المواقع | خدمات السوشيال ميديا
    http://www.orico.com.eg

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Oct 2008
    المشاركات
    283


    المهم ان يكون ملف php بدون اكواد التصميم
    أختلف معك .. المفروض إن القالب أساساً لا يحتوي على أكواد PHP وليس العكس.

    يهدف نظام القوالب لفصل الكود البرمجي عن كود التصميم وليس العكس.
    ليس بهدف إراحة المبرمج وتسهيل عمله بل للمصمم وللمبرمج معاً.

    ------------

    كود PHP:
    <?php echo $var?>
    دي أسهل
    كود PHP:
    <?= $var ?>






    __________________
    اللهم وفقني لما تحبه وترضاه...

  4. #4


    أختلف معك .. المفروض إن القالب أساساً لا يحتوي على أكواد PHP وليس العكس.

    يهدف نظام القوالب لفصل الكود البرمجي عن كود التصميم وليس العكس.
    ليس بهدف إراحة المبرمج وتسهيل عمله بل للمصمم وللمبرمج معاً.

    ------------

    كود PHP:
    <?php echo $var?>
    دي أسهل
    كود PHP:
    <?= $var ?>
    نعم ولكنك مجبر علي إستخدام ال php أحيانا بداخل ال html
    ما لم تستخدم في اللوب الجزء الداخلي له هو قالب لوحده

    والشروط يجب ان تضعها في القوالب ك php ما لم تغيرها فتكون بدل

    كود PHP:
    <?php if() { ><
    محتوي هتمل
    <?php ?>
    تكون

    كود PHP:
    <if condition="">
    محتوي هتمل
    </if> 
    وهنا أسألك ما الفرق ؟

    لا سبيل للفصل الكلي بين ال php وال htl إلا بالزيادة الكبيرة جدا في الوقالب بجعل كل جزء مراد فصله بشرط قالب بوحده :looking:





    __________________
    السيف أصدق أنباء من الكتب

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


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

    تكون القوالب بالطريقة العادية بدون اكواد بي اتش بي لان المصمم بالفعل لا يفضل رؤيتها

    و نظرا لان محركات القوالب حاليا بها كاش توضع فيها الملفات التي تم تحويلها،،

    يكون من الممكن الاستغناء عن محرك القوالب، ثم تضمين الملفات الموضوعة في الكاش يدويا

    وعند تحديث الستايل مثلا يتم تمريره على محرك القوالب لتحويله .... وهكذا.





    __________________
    محمد حمود.

  6. #6


    تسلم ايدك اخي عبد الواحد مرجعك وترتيبك جميل جزاك الله كل الخير

    تقبل خالص التحية
    بارك الله فيك اخي احمد

    أختلف معك .. المفروض إن القالب أساساً لا يحتوي على أكواد PHP وليس العكس.

    يهدف نظام القوالب لفصل الكود البرمجي عن كود التصميم وليس العكس.
    ليس بهدف إراحة المبرمج وتسهيل عمله بل للمصمم وللمبرمج معاً.

    ------------

    كود PHP:
    <?php echo $var?>
    دي أسهل
    كود PHP:
    <?= $var ?>
    ملف php لن يتم خلطه مع التصميم اما ملف التصميم يمكن اضافة اليه بعض اقول بعض الأكواد فقط للطاباعة او للمصفوفة ...
    ما تفضل به الأخ المجروح لن ازيد عليه
    وفي الأخير هذه احدى الطرق من الطرق الموجودة
    وتأكد انه بدون استخدام نظام القوالب تريح برنامجك من دوال التعابير القياسية المستخدمة في الشروط
    نعم ولكنك مجبر علي إستخدام ال php أحيانا بداخل ال html
    ما لم تستخدم في اللوب الجزء الداخلي له هو قالب لوحده

    والشروط يجب ان تضعها في القوالب ك php ما لم تغيرها فتكون بدل

    كود PHP:
    <?php if() { ><
    محتوي هتمل
    <?php ?>
    تكون

    كود PHP:
    <if condition="">
    محتوي هتمل
    </if> 
    وهنا أسألك ما الفرق ؟

    لا سبيل للفصل الكلي بين ال php وال htl إلا بالزيادة الكبيرة جدا في الوقالب بجعل كل جزء مراد فصله بشرط قالب بوحده :looking:
    اضافة مفيدة

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

    تكون القوالب بالطريقة العادية بدون اكواد بي اتش بي لان المصمم بالفعل لا يفضل رؤيتها

    و نظرا لان محركات القوالب حاليا بها كاش توضع فيها الملفات التي تم تحويلها،،

    يكون من الممكن الاستغناء عن محرك القوالب، ثم تضمين الملفات الموضوعة في الكاش يدويا

    وعند تحديث الستايل مثلا يتم تمريره على محرك القوالب لتحويله .... وهكذا.
    لم افهم
    ثم تضمين الملفات الموضوعة في الكاش يدويا






    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

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


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


    نعم الطريقة دية جميل جدا وكانك بتستخدم نظام قوالب وكمان الطريقة دية مستخدمة في ايطار العمل CodeIgnite

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

    وكمان مفيدية للي مايعرفوش استخدام نظام القوالب



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





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

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


    للتوضيح .. محرك القوالب يقوم بتحويل الرموز والاوسمة الخاصة الموجودة في القالب الى رموز PHP عادية.

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

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

    ثم استعماله في البرنامج في صورة انكلود عادي، وسيكون مشابه للصورة التي وضعتها.

    ----------------------

    >> بالفعل الطريقة التي تفضلت بوضعها تستخدم وبكثرة، لكن بعض المصممين لا يفضلوا رؤية ال PHP
    لذلك يكون هذا حل وسط





    التعديل الأخير تم بواسطة mr_m ; 26-04-2009 الساعة 03:00 AM
    __________________
    محمد حمود.

  9. #9


    جميل
    بالنسبة للمصميمين يستطيعون تصميم البرنامج بالكامل دون رؤية اي كود php ولكن عندما يصل التصميم الى المبرمج يتم اضافة اليه اكواد php بسهولة





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

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


    للتوضيح .. محرك القوالب يقوم بتحويل الرموز والاوسمة الخاصة الموجودة في القالب الى رموز PHP عادية.

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

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

    ثم استعماله في البرنامج في صورة انكلود عادي، وسيكون مشابه للصورة التي وضعتها.

    ----------------------

    >> بالفعل الطريقة التي تفضلت بوضعها تستخدم وبكثرة، لكن بعض المصممين لا يفضلوا رؤية ال PHP
    لذلك يكون هذا حل وسط
    او يقوم بوضع الكود داخل وسم اتش تي ام ال ويقوم بقراءة الملف وعمل الكاش لية يعني مثلا كده


    كود PHP:
    <start كود بي اتش بي  end

    ويقوم بتغير <startو>end بنشاء ملف كاش ليه





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

  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    512


    جميل
    بالنسبة للمصميمين يستطيعون تصميم البرنامج بالكامل دون رؤية اي كود php ولكن عندما يصل التصميم الى المبرمج يتم اضافة اليه اكواد php بسهولة
    حل جميل فعلا .. كنت افكر في التكرارات مثلا في صفوف الجداول او القوائم،
    لكن ما زال من الممكن ان يقوم المصمم بعمل شيء افتراضي ويقوم المبرمج باستبداله.

    او يقوم بوضع الكود داخل وسم اتش تي ام ال ويقوم بقراءة الملف وعمل الكاش لية يعني مثلا كده

    ويقوم بتغير <startو>end بنشاء ملف كاش ليه
    اعذرني اخي لم استوعب .. هل تقصد تطوير في شكل القالب؟





    __________________
    محمد حمود.

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


    حل جميل فعلا .. كنت افكر في التكرارات مثلا في صفوف الجداول او القوائم،
    لكن ما زال من الممكن ان يقوم المصمم بعمل شيء افتراضي ويقوم المبرمج باستبداله.



    اعذرني اخي لم استوعب .. هل تقصد تطوير في شكل القالب؟
    يعني بدل مايكتب الكود كده

    كود PHP:

    <?php foreach(){?>
    يروح كتبة كده


    كود PHP:

    <start>foreach(){</start
    ويغير <start> بال <?php ويقوم بنشاء ملف الكاش ليها





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

  13. #13


    يعني بدل مايكتب الكود كده

    كود PHP:

    <?php foreach(){?>
    يروح كتبة كده


    كود PHP:

    <start>foreach(){</start
    ويغير <start> بال <?php ويقوم بنشاء ملف الكاش ليها
    بهذا رجعنا مرة اخرى الى نظام القوالب





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

  14. #14


    حل جميل فعلا .. كنت افكر في التكرارات مثلا في صفوف الجداول او القوائم،
    لكن ما زال من الممكن ان يقوم المصمم بعمل شيء افتراضي ويقوم المبرمج باستبداله.
    صحيح
    مثلا يصمم جدول الأعضاء هكذا لكي يظهر التصميم كاملا

    كود PHP:
    <table>
    <
    tr>
        <
    td>name</td>
        <
    td>email</td>
    </
    tr>

    <
    tr>
        <
    td>abdelouahid</td>
        <
    td>email1@email.com</td>
    </
    tr>

    <
    tr>
        <
    td>elbachiri</td>
        <
    td>email2@email.com</td>
    </
    tr>

    <
    tr>
        <
    td>nador</td>
        <
    td>email3@email.com</td>
    </
    tr>
    </
    table
    وبعدها يأتي المبرمج يحوله الى هذا الشكل

    كود PHP:
    <table>
    <tr>
        <td>name</td>
        <td>email</td>
    </tr>
    <?php foreach( $data as $user ){ ?> 
    <tr>
        <td><?php echo $user['username']; ?></td>
        <td><?php echo $user['email']; ?></td>
    </tr>
    <?php ?>
    </table>
    وكذالك في جميع اجزاء التصميم حسب الحاجة





    __________________
    عدت
    اقتراحاتكم -> www.elbachiri.com

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


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





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





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

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

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