صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 41

الموضوع: سلسلة دروس جديدة وغير مكررة في php

  1. #1

    سلسلة دروس جديدة وغير مكررة في php



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

    السلام عليكم ورحمة الله وبركاته...

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

    الدرس الأول : المتغير من نوع دالة

    الجميع يعرف أن PHP تحتوي على العديد من أنواع المتغيرات مثل string, int, float, array, object.. وهي أنواع لتمثيل نوع البيانات التي يتم تخزينها في المتغير نفسه فمثلاً عندما يقال لك أن المتغير y من نوع int فسيتبادر إلى ذهنك أن y يحتوي على عدد مثل 5 أو 770 ... إلخ

    وهكذا لبقية أنواع المتغيرات ...

    يمكن أن يكون نوع المتغير هو function أو callback function ..

    مامعنى ذلك ؟

    أي يمكن أن يكون نوع المتغير هو دالة أي أن المتغير يخزن بداخله دالة

    طيب كيف ذلك يا عبدالله عيد ؟


    لاحظ المثال التالي ...

    كود PHP:
    <?php
    function foo() {
        echo 
    "In foo()<br />\n";
    }

    $func 'foo';
    $func();        // This calls foo()

    ?>
    الآن لاحظ أننا قمنا بعمل دالة عادية بإسم foo ولإستدعاء الدالة سنقوم بكتابة foo() وهذا ما هو متعارف عليه ولكن كما ترى في المثال السابق أنه قام بتعريف متغير أسماه func ووضع فيه اسم الدالة foo فقط وأصبح المتغير func من نوع string الآن استخدم الأقواس الخاصة بالدالة مع إسم المتغير كما ترى في المثال الموجود بالأعلى وعندها ستكتب

    كود PHP:
    <?php $func ();?>
    عندما يجد مترجم php هذا المتغير مع الأقواس سيفترض عندها أن المتغير هو من نوع string وأن بداخله إسم الدالة أي يستخدم كإسم مستعار للدالة ...

    وللزيادة في التوضيح لاحظ المثال التالي

    كود PHP:
    <?php
    // This is a wrapper function around echo
    function echoit($string)
    {
        echo 
    $string;
    }

    $func 'echoit';
    $func('test');  // This calls echoit()

    ?>
    نهاية الدرس الأول .. وانتظروا الدرس الثاني
    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

    اخوكم عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)


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


    جزاك الله خيراً أستاذ عبدالله عيد .. موضوع جميل وشيق بارك الله فيك ...

    كنت قد تحدثت في هذا الموضوع في أحد مقالاتي في ديفبيدا ( دالتك .. كيف ***يها وتتعامل معها ؟! ) ...

    شكراً لك مرة اخرى .. موضوع جميل .. وبالتوفيق ان شاء الله

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






  3. #3

    الدرس الثاني : النوع متغير متغير في PHP



    الدرس الثاني : النوع متغير متغير في php

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

    مفهوم متغير متغير أو (variable-variable) في php يشبه نوعاً ما المؤشرات في لغة C لمن لديهم خبرة سابقة في لغة C ولكن ليس مثله بالضبط ….

    فالجميع يعرف أن تعريف متغير في php هو بوضع علامة $ قبل المتغير وهذا هو المتغير العادي …

    مثل


    كود PHP:
    <?php
    $a 
    ‘abdulah’;
    ?>

    إذاً ماهو مفهوم متغيرمتغير في php ؟

    أولاً لتعريف متغير متغير فإننا نضع علامتي $$ بدلاً من علامة واحدة فعلى سبيل المثال لو لاحظت المتغير a الموجود بالأعلى فهو يحتوي على قيمة abdulah .. فالآن لو قمت بكتابة التالي :


    كود PHP:
    <?php

    $a 
    ‘abdulah’;
    $
    $a ‘welcome to variable variable’;

    ?>

    فالآن لاحظ الكود التالي الذي هو مربط الفرس لهذا المفهوم كالتالي

    كود PHP:
    <?php
    echo $abdulah;
    ?>
    فإن النتيجة ستكون ‘welcome to variable variable’ …

    لقد قمنا بإستخدام القيمة الموجودة في المتغير a وهي abdulah كمتغير وعلامة $ الثانية تشير إلى وضع القيمة الجديدة في القيمة القديمة كمتغير

    أما الفائدة من هكذا عملية هو لإستخدام المتغيرات بشكل ديناميكي فمثلاً لو أنني أردت أن أضع قيمة في متغير لا أعرف أسمه أي سأخذ هذا الأسم من المستخدم وأقوم بصنع متغير من الأسم الذي أدخله المستخدم فإنني أحتفظ بالأسم في متغير ثم أضع لهذا المتغير علامتي $$ ولكي اخزن قيمة جديدة فيه وهكذا …

    أتمنى أن تكون الفكرة قد اتضحت …

    نهاية الدرس الثاني .. وانتظروا الدرس الثالث
    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

    اخوكم عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)

  4. #4


    الف شكر يا استاذ عبد الله الموضوع فعلا جميل
    جزاك الله كل خير





    __________________
    أحمد أبو النصر
    Junior php Developer
    +20166196074

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    357


    شرح رائع
    جزاك الله خير اخوي عبدالله






  6. #6

    العلاقة بين include و return



    الدرس الثالث : العلاقة بين include و return

    هذا الدرس يوضح وجود علاقة بين كلاً من include و return فالجميع يعرف أن include تقوم بتضمين محتويات ملف داخل ملف اخر … الآن لاحظ المثال التالي وليكن في ملف بإسم my.php
    كود PHP:
    <?php

    // my.php file
    $c * (20 7);
    return 
    $c;
    ?>
    قد تستغرب من هذا المثال لأن المعروف عن return هو إستخدامها بداخل الدوال فقط ولكن مافائدة إستخدامها بهذا الشكل ؟ الآن لاحظ الملف التالي بإٍسم myinc.php

    كود PHP:
    <?php

    // myinc.php
    $yy = include(’my.php’);
    echo 
    $yy;

    ?>
    ستكون قيمة المتغير yy هي 52 لأن الملف my.php يرجع نتيجة التعبير وعند تضمين الملف بواسطة include يمكنك إستقبال هذه القيمة في متغير وبكلام أخر فإن include عملت كدالة هنا لعمل شئ معين ولم تعمل للتضمين فقط . وأرجوا أن تكون العلاقة بينهما قد إتضحت …

    ويمكن تطبيق ما تم ذكره على include_once, require, require_once .. لأن لها نفس عمل include مع بعض الفروقات ...

    نهاية الدرس الثالث .. وانتظروا الدرس الرابع
    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

    اخوكم عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)

  7. #7


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

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

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





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

  8. #8


    بصراحة رأيت التجميع وأنزلت الملف وما أفرحني أنها مبادرة ممتازة للمساعدة
    أما بالنسبة لمحرك القوالب فسأشرحها بشكل موسع إن شاء الله في الأيام القادمة عندما أجد الوقت الكافي وأقوم بتوزيعها إن شاء الله تعالى ..

    تحياتي

    أخوك عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)

  9. #9


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

    شكرا لك اخي على الرد بالايجاب على التجميع والدروس المستقبلية





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

  10. #10

    التعرف على باراميترات الدالة أثناء تنفيذها ..



    الدرس الرابع : التعرف على باراميترات الدالة أثناء تنفيذها ..

    من المعروف أنه عند تعريفك لدالة معينة فإنك ربما تستخدم عدد معين
    من الباراميترات مع الدالة أو ربما لا تستخدم أي باراميتر أي أن الدالة
    لا تحتوي على باراميترات ...

    والمقصود بالبارميترات هي المتغيرات التي تأتي بين قوسي الدالة عند تعريفها

    ومثال على ذلك

    كود PHP:
    <?php
    function myData($a,$wyc,$xyz)
    {
     
    //do somthing here
    }
    ?>
    فكما تلاحظ فإن كلاً من a, wyc, xyz هي عبارة عن متغيرات عادية ولكن
    كونها أتت بين قوسي الدالة أثناء تعريفها فيطلق عليها باراميترات أو
    ارجيومينت ..

    لو نظرنا إلى الدالة myData في الأعلى فإنه عند إستدعاء الدالة يجب أن
    نعبئ الثلاث بارميترات الخاصة بالدالة أي يجب أن نكتب

    كود PHP:
    <?php
    myData
    (1,'welcome',true);
    ?>
    ولكن إذا كتبت شيئاً مثل :

    كود PHP:
    <?php
    myData
    ();
    ?>
    وسنستثني هنا الباراميترات الإفتراضية ... فعندها سيصدر المترجم الخاص باللغة تحذيراً على كل متغير (باراميتر) للدالة لم يتم وضع قيمة له
    وهنا لم يتم وضع قيم للثلاثة بارميترات وعندها سيصدر لك شئ مثل :

    كود:
    Warning: Missing argument 1 for myData() in c:\wamp\www\demo.php on line 3
    Warning: Missing argument 2 for myData() in c:\wamp\www\demo.php on line 3
    Warning: Missing argument 3 for myData() in c:\wamp\www\demo.php on line 3
    وإذا كتبت مثلاً

    كود PHP:
    <?php
    myData
    (1024);
    ?>
    سيعطيك رسالتين تحذير لأنه بقي باراميترين ... وهكذا ..

    درسنا هذا سيغطي موضوع التعرف على البارميترات واستخدامها ومعرفة عددها أثناء تنفيذ الدالة وإستدعائها وعندها نستطيع أن نعمل
    دالة تستخدم عدد غير محدد من البارميترات دون أن نكتب أي باراميتر للدالة الأساسية أثناء تعريفها .. كيف ذلك ؟ تابع معنا


    سنقوم بتعريف دالة بإسم mySwalif وهذه الدالة تستطيع أن تتعامل مع أي عدد من البارميترات دون تحديد مسبق ..

    كيف ؟

    هنالك الكثير من الدوال للتعامل مع الدوال وهنا سنتعامل مع دالتين مهمة وهي :

    1- func_num_args
    2- func_get_arg

    سيأتي شرحها في الأسفل ..

    الآن سنعرف دالة عادية mySwalif لطباعة كلمة swalif كالتالي :

    كود PHP:
    <?php

     
    function mySwalif()
     {
      echo 
    'swalif';
     }
     
    ?>
    وعند الإستدعاء سنكتب

    كود PHP:
    <?php
     mySwalif
    ();
    ?>
    عندها سيكون كل شئ على مايرام ...

    ولكن لو ك***ا

    كود PHP:
    <?php
     mySwalif
    ('anystring');
    ?>
    فإن مترجم php سيصدر رسالة مفادها ان دالة mySwalif ليس لها بارميترات .. وهذا مانخشاه ..

    إذا كيف سنحول دالة mySwalif إلى دالة تستطيع أن تقبل أي عدد من البارميترات التي يمررها المستخدم عند إستدعاء الدالة ؟

    الجواب هو بإستخدام دالتي func_num_args و func_get_arg

    و للتحذير فإن هذه الدالتين لا تستخدم إلا من داخل الدالة التي تعرفها أي لا تستطيع إستخدام الدالتين مباشرة ضمن الملف أي يجب أن تكتب
    الدالتين داخل دالة أثناء تعريفها ...

    بالنسبة للدالة func_num_args وظيفتها أنها تقوم بإرجاع عدد البارميترات التي مررها المستخدم للدالة
    أما بالنسبة للدالة func_get_arg ووظيفتها هي احد البارميترات التي مررها المستخدم للدالة وذلك بتحديد رقم الباراميتر الذي تريده
    وأول بارميتر يكون من الرقم 0 صفر .. وللتوضيح لاحظ المثال التالي الذي سيجعل دالة mySwalif تقبل أي عدد من البارميترات كالتالي :

    كود PHP:
    <?php
    function mySwalif()
    {
      
    $num_args func_num_args(); //هنا سترجع الدالة عدد البارميترات التي مررها المستخدم للدالة
      
    for($i 0$i $num_args$i++)
       {
         
    $param func_get_arg($i); //هنا ستحضر قيمة البارميتر الأول ومن ثم الثاني وهكذا
          
    echo '<b>'.$param.'</b><br/>';
       }
    }
    ?>
    الآن بإمكاني كتابة مايلي بدون مشاكل

    كود PHP:
    <?php
     
     mySwalif
    ();
     
    mySwalif('welcome');
     
    mySwalif('welcome','to');
     
    mySwalif('welcome','to','swalif');
     
    mySwalif('welcome','to','swalif',2007);

    ?>
    وأرجوا أن تكون الفكرة قد اتضحت ...

    نهاية الدرس الرابع .. وانتظروا الدرس الخامس

    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

    اخوكم عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)

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


    أقول أيه غير
    تسبقنا دائما وفقك الله وأعانك
    موضوعاتك دائما بالمقدمة





    __________________
    PHP-TIGER
    professional php Coder
    Mu4all.com

  12. #12

    الصيغة البديلة للـ control structure



    الدرس الخامس : الصيغة البديلة للـ control structure

    بإختصار هذا الدرس يوضح الصيغ البديلة لكل من if, else, elseif, while, for, switch .... وغيرها من أدوات التحكم في اللغة ...

    ما المقصود بالصيغة البديلة (Alternative Syntax) هي أنه يمكنك كتابة ادوات التحكم مثل if وغيرها بطريقة أو بشكل أخر .. و للتوضيح أكثر لاحظ ما يلي :

    أنت في العادة تكتب if كالتالي :

    كود PHP:
    <?php
     
    if($the_bool_exp)
      {
        
    //do somthing...
      
    }
    ?>
    جميل جداً ...


    قاعدة الصيغة البديلة
    في الصيغة البديلة تستبدل الأقواس { , } بما يلي :

    1- قوس الفتح { يستبد بـ : نقطتين
    2- قوس الإغلاق يستبدل بكلمة end ملتصق بها إسم اداة التحكم المستخدمة يتبعها فاصلة منقوطة أي في حالة if تكون endif ..


    وإذا أردنا تحويل ماذكرناه إلى الصيغة البديلة نقوم بالتالي :


    كود PHP:
    <?php
     
    if($the_bool_exp) :
        
    //do somthing...
      
    endif;
    ?>
    لاحظ المثال التالي الخاص بـ if

    كود PHP:
    <?php
    if ($a == 5):
        echo 
    "a equals 5";
        echo 
    "...";
    elseif (
    $a == 6):
        echo 
    "a equals 6";
        echo 
    "!!!";
    else:
        echo 
    "a is neither 5 nor 6";
    endif;
    ?>
    وهذه القاعدة لجميع أدوات التحكم و للتوضيح إليك الأمثلة التي تعطيك التصور الأفضل :

    بالنسبة لـ while
    كود PHP:
    <?php
    $i 
    1;
    while (
    $i <= 10):
        echo 
    $i;
        
    $i++;
    endwhile;

    ?>
    بالنسبة لـ switch

    كود PHP:
    <?php
    switch ($i):
    case 
    0:
        echo 
    "i equals 0";
        break;
    case 
    1:
        echo 
    "i equals 1";
        break;
    case 
    2:
        echo 
    "i equals 2";
        break;
    default:
        echo 
    "i is not equal to 0, 1 or 2";
    endswitch;
    ?>
    وهكذا بالنسبة for, foreach,dowhile...

    أما فائدة الصيغة البديلة فهي ممكن أن تكون في إلغاء فكرة الأقواس وتداخلها وجعل الكود يكون كتابياً أكثر من كونه ملئ بالأقواس

    وثانياً لإعطاء المبرمج حرية كتابة مايريده بالتنسيق الذي يريده ..

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

    نهاية الدرس الخامس .. وانتظروا الدرس السادس

    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

    اخوكم عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)

  13. #13


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





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

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

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

  14. #14


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





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

  15. #15

    التعامل مع المراجع References



    الدرس السادس : التعامل مع المراجع References

    من أكثر وأهم المفاهيم المستخدمة في php مايسمى بالمراجع أو الـ References ..

    ماهي المراجع (References)؟

    سأعطيك عزيزي القارئ تعريف بطريقتي :1power: :1power:

    هي عبارة عن قيمة لها أكثر من متغير يشير إليها ..

    طيب ياليت ياعبدالله عيد توضح بالأمثلة (ابشر.. :nice: )

    كود PHP:
    <?php
    $x 
    10;
    ?>
    الآن إذا عدنا إلى التعريف فإن القيمة ستكون 10 والمتغير x ..

    الآن كيف نستخدم المرجع لنشير إلى قيمة x ؟

    لعمل متغير يعمل كمرجع لقيمة (متغير اخر) فإننا نستخدم علامة & كالتالي :

    كود PHP:
    <?php
    $y 
    =&$x;
    ?>
    الآن أصبح x و y يشيرون إلى نفس القيمة التي هي 10 ..

    الآن لو غيرنا في x أو في y فإن قيمة الأخر ستتغير تباعاً ... لاحظ مايلي ..

    كود PHP:
    <?php
    $y 
    3000;
    echo 
    $x;
    ?>
    ستكون النتيجة هي

    كود:
    3000
    والسبب أن x و y يشيرون إلى نفس القيمة أي أن تغيير أي أحد منهما فإن الأخير سيتغير تباعاً لذا لو قمنا بعمل مراجع كالتالي :


    كود PHP:
    <?php
    $z
    =&$x;
    $r=&$x;
    $c=&$x;
    ?>
    فإن z,r,c أصبحت مراجع أيضاً أي إذا غيرنا في قيمة x أو y أو z أو r أو c فإن الجميع سيتغيرون لإنهم في الأصل يشيرون إلى نفس القيمة ومن هنا جاء التعريف الذي قلته في الأعلى :1power: أنها قيمة لها أكثر من متغير يشير إليها ...

    لاحظ الآن ما يلي :


    كود PHP:
    <?php
    $t 
    400;
    $s $t;
    ?>

    ماتراه في الكود الذي في الأعلى مختلف تماماً عن المراجع والسبب أن علمة المساواة تعني (copy) أي نسخ القيمة أي أن t هو 400 و s هو 400 ولكن إذا غيرنا في أحدهما فإن الأخر لن يتغي والسبب أن كل منهما متغير ولكن كل منهما له قيمته الخاصة به

    لذا لو غيرنا كما يلي :


    كود PHP:
    <?php
    $s 
    700;
    echo 
    $t;
    ?>
    فلن يتغير شئ وستكون النتيجة كالتالي ...
    كود:
    400
    تحذير : المراجع تقنية ممتازة وجيدة ومفيدة ولكن في نفس الوقت فهي خطيرة جداً والسبب في ذلك أنه يمكن أن تحدث معها تغييرات لم تكن في الحسبان فعلى سبيل المثال ربما أنت تتعامل مع متغيرين مراجع في ملفين مختلفين وعندما يتغير أحدهما فإنه سيؤثر على المتغير الموجود في الملف الأخر وهذا ما قد يتسبب في نتائج غير مرغوب بها


    وأرجوا أن تكون الفكرة قد اتضحت ...

    نهاية الدرس السادس .. وانتظروا الدرس السابع

    وهذا مالدي الآن فإن أخطأت فمن نفسي والشيطان وإن أصبت فمن الله عز وجل ...

    اخوكم عبدالله عيد





    __________________
    قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل)





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

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

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