الدرس السابع في لغة php

الدرس السابع في لغة php


النتائج 1 إلى 4 من 4

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

  1. #1

    افتراضي الدرس السابع في لغة php

    ترتيب الكود البرمجي

    تعلمنا في الدروس السابقة أساسيات من أساسيات البرمجة واعطينا مثال عن الروتين في الحياة اليومية وهو أن تقوم بعمل شي أكثر من مرة في الحياة اليومية مثل شرب الشاي أو شرب القهوة وغير ذلك ، درسنا اليوم يتكلم عن ترتيب الكود ويتكلم تقريباً عن نفس فكره الروتين اليومي فأنت في حياتك تكرر بعض الأعمال بشكل روتيني
    وقد تكون مللت الروتين فأحضرت شي يساعدك على التخفيف من هذا الروتين ... فمثلاً عند استخدامك لبرنامج MS Word قد تكون مللت من تنسيق عدة نصوص بطريقة معينة فأنت عند ذلك تقوم بصناعة ماكرو يقوم بفعل العمل الذي كنت تفعله في عدة خطوات بخطوة واحد فقط !!

    ولنقل أنك في حياتك اليومية وفي يوم إجازة وقررت أن تقوم بعمل تنظيف شامل (يا إلهي عليك غسيل أطباق الصحون وتنظيف الأثاث وتنظيف الأرضيه وترتيب المكتبة وترتيب غرفة النوم و ... و ... الخ ) عند ذلك فإنك تبحث عن طريقة عملية لكي يتم انجاز هذه المهمة في أسرع وقت فتقوم بتقسيم هذه المهمة الكبيرة على عده أقسام (التنظيف ،الترتيب ، الغسيل ،.....) ثم تقوم باستدعاء أطفالك وفلذات اكبادك وتقسم على كل واخد منهم مهمة بسيطة يستطيع القيام بها .. هذا التقسيم يسمي في عالم البرمجة بالـfunction (دالة أو وظيفة )

    Function

    الدالة هي جزء من كود البرنامج يتم تعريفه عن طريق المبرمج ليتم تنفيذ شي معين بواسطتها ، تقوم الدالة بأخذ قيم وتسمي (arguments معطيات ) كمدخلات ،، ثم تقوم بعمل بعض التعديلات على هذه المدخلات وتقوم بإخراج قيمة أخري في أكثر الأحيان تقوم الدالة بأخذ القيم ووضعها في متغيرات أخري تسمي بالـ(parameters) لكي يتم اجراء العمليات عليها داخل الدالة وهذه المتغيرات لاتعمل خارج الدالة أي أنها متغيرات خاصه بالدالة فقط ! ...في دروسنا السابقه قمنا باستخدام دوال عديده مثل دوال فرز المصفوفات ودوال ايجاد نوع البيانات ،،،، هذه المرة سنقوم ببناء دوالنا الخاصة بنا ،، ومن صنعنا نقوم باعطاءها المعلومات والبيانات وهي تقوم باجراء العمليات عليها ومن ثم اخراج الحلول ...

    تعريف واستدعاء الدوال

    لكي تقوم بتعريف دالة فإنك تقوم بكتابة الكلمة function متبوعة باسم الدالة والبارمترات الازمة والتي سيتم اجراء العمليات عليها بين قوسين ومن ثم تقوم بكتابة الكود الازم وسط { و }

    الصيغه :

    كود PHP:
    Function functionname (parameters
    {
    function 
    code  

    تقوم بكتابه اسم الدالة بدلاً من functionname ثم تقوم بتعريف المتحولات أو المتغيرات parameters ومن ثم تقوم بكتابه الكود الذي سوف يقوم بالمطلوب بين القوسين بدلاً من function code

    دعنا الآن نقوم بكتابة دالة من إنشاءنا والتي تقوم باجراء عملية الجمع على متغيرين وسنقوم بتسمية الدالة باسم sumnoraml وهو اسم من تأليفنا ويدل على وظيفة وهدف الدالة ويمكن أن تقوم بتمسية الدالة باي اسم تريده ولست مجيراً بكتابه اسم معين
    كود PHP:
    <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    return 
    $a;
    }
    ?>
    نقوم في هذه الدالة بإجراء عملية إضافة 100 على المتغير أو القيمة التي يتم تمريرها .

    Return
    يجب أن نضعها في نهاية كل دالة ، نستخدم هذه الكلمة لكي نقوم بإعلام الداله ان وظيفتها انتهت وايضا نستخدمها إذا كان لدينا أكثر من قيمة ونريد أن نقوم بإخبار الـPHP ماهي القيمة التي سيتم اعتمادها ففي مثالنا هذا أردنا إخبار الـPHP بأن يقوم بأخذ المتغير $a بانه هو القيمة النهائية مع أنه لو لم نضع المتغير فسيتم اعتباره هو الناتج النهائي لانه لايوجد متغير اخر تم عليه أي عمليات

    الذي اقصده أننا لو كتبنا الكود بالشكل التالى :

    كود PHP:
    <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    return ;
    }
    ?>
    فإنه لاضرر من ذلك لأنه لا يوجد لدينا إلا قيمة واحدة لن يتم اعتماد قيمة غيرها ولكن لو افترضنا أنه لدينا أكثر من قيمة كما في المثال التالى :

    كود PHP:
    <?
    Function sul($a,$b)
    {
    $a $a 100 ;
    $b$b*100
    return 
    $a ;
    }
    ?>
    هنا يجب تحديد أي المتغيرين سيكون هو القيمة النهائيه للدالة .

    شرح الداله (sumnormal)
    تقوم الدالة التي صنعناها بأخذ قيمتين ومن ثم فإنها تقوم بزياده العدد الذي يتم تمريره 100

    ولكي نقوم بإخراج نتيجة الدالة فإننا ببساطة نسطيع ذلك باجراء أحد الأمرين echo أو print .
    مثال :

    كود PHP:
     <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    return ;
    }
    echo 
    sumnormal(500);
    ?>
    لقد قمنا بتمرير رقم بدلاً من المتغير ويمكننا أيضا تمرير متغير بدلاً من الرقم
    مثال :

    كود PHP:
    <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    return ;
    }
    $f=100;
    echo 
    sumnormal($f);
    ?>
    لاحظ أننا استخدمنا متغير في الدالة (مما يثبت كلامنا في الأعلى أن للدالة متغيرات خاصة بها) وليس معني ذلك أننا لانستطيع استخدام متغيرات بنفس الاسم المذكور في الدالة فيمكننا مثلاً كتابة نفس اسم المتغير بدون حصول أي مشاكل كالتالى :

    كود PHP:
    <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    return ;
    }
    $a=100;
    echo 
    sumnormal($a);
    ?>
    يمكننا أيضا استدعاء دالة بشكل عادي إذا كانت هي تقوم بالطباعة
    مثال :

    كود PHP:
    <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    print 
    $a;
    return ;
    }

    $a=100;
    sumnormal($a);
    ?>
    print

    يقوم الأمر print بنفس عمل الدالة echo ولايوجد بينهما اختلاف سوى أن الدالة echo قديمة وهي الأصل أما الدالة print فقد تم إنشاؤها في php4 ولايوجد أي فرق بينهما اطلاقا .
    مثال :

    كود PHP:
    <? 
    Print “احمد”;
    ?>
    ويمكننا بها إخراج نتيجة دالة 
    <?
    Function sumnormal($a)
    {
    $a $a 100 ;
    return ;
    }
    $a=100;

    print  
    sumnormal($a);
    ?>

    اين يتم وضع الداله ؟

    يمكنك وضع الدالة في أول الكود أو في آخرها أي أنه لافرق بين :
    كود PHP:

    <?
    //لاحظ اننا قمنا بتعريف الداله اولا ثم استدعاءها
    Function fares($d)
    {
    print 
    “alfareees@hotmail.com”
    }

    fares($d) ;
    ?> 
    وبين :
    <?

    //لاحظ اننا قمنا باستدعاء الداله اولا ثم تعريفها  
    fares($d) ;

    Function 
    fares($d)
    {
    print 
    “alfareees@hotmail.com”
    }
    ?>
    يمكنك أيضا عدم وضع متغيرات في الدالة كالتالى :

    كود PHP:
    Html_header () 
    {
        Print 
    <html><head><title>alfareees</title></head>
    Return ; 

    هذه الدالة تقوم بكتابة الطور الأول من صفحة html لاحظ أننا لم نقم بوضع أي متغيرات او عوامل او متحولات (سمها كما شئت ) .

    تمرير القيم الى الدالة
    هناك نوعين من تمرير القيم

    1 - تمرير القيمه مباشره الى الداله (passing by value)
    وذلك أن نضع القيمة مباشرة بدون إدراجها في متغيرات .
    مثال :
    كود PHP:
    <?
    Function alfars ($f
    {
    $f=$f+$f
    return ;
    }
    echo 
    alfars(100);  
     
    ?>
    لاحظ أننا قمنا بإدراج القيمة مباشرة للدالة من غير وضعها في متغيرات .

    2 - تمرير القيمه عن طريق المرجع (passing by reference)
    نقصد بهذا أننا نقوم بوضع القمية في متغير أولا ثم نضع هذا المتغير في الدالة لكي يتم اجراء العمليات عليه مثال :

    كود PHP:
    <?
    Function alfars ($f
    {
    $f=$f+$f
    return ;
    }
    $r =1000
    echo 
    alfars($r);  
     
    ?>
    اعداد قيمة افتراضيه للدالة
    تستطيع أن تجعل الـPHP4 يقوم بإدراج قيمة إفتراضية عند عدم تمرير متغيرات إليه
    مثال :

    كود PHP:
    <?
    Function alfars ($f=40
    {
    $f=$f+$f
    return ;
    }
    echo 
    alfars();
    ?>
    إذا لم يتم إعطاء قيمة للدالة فإنها ستفترض أن القيمة هي 40 مباشرة .
    أما إذا تم تمرير قيمة أو متغير فإنه سيتم العمل بالقيمة التي تم تمريرها بدلاً من القيمة الإفتراضية
    مثال :

    كود PHP:
    <?
    Function alfars ($f=40
    {
    $f=$f+$f
    return ;
    }
    echo 
    alfars(100);
    ?>
    مدي المتغيرات (variable scope)

    هناك متغيرات محلية (local) ومتغيرات عامة (global) ، نقصد بالمتغيرات المحلية التي تكون في داخل الدالة ونقصد بالعامة التي تكون في كود الـPHP بشكل عام
    مثال
    كود PHP:
    <? 
    //هذا متغير عام 
    $r“salem”
    function 
    ala($s)
    {
    //هذا متغير محلى
    $s “progrramer”

    echo 
    $r ;
    ala($s);
    echo 
    $s;
    ?>
    مثال :
    كود PHP:
    <? 
    //هذا متغير عام 
    $r“salem”
    function 
    ala($s)
    {
    //هذا متغير محلى
    $s “progrramer”

    echo 
    $r ;
    $s=10;
    echo 
    $s;
    ?>
    في المثال الأول استطعنا طباعة المتغير $r ولم نسطتع طباعة المتغير $s لأنه محلى (لايتم تنفيذه الا داخل الدالة ) وعندما نريد طباعته فإننا يجب أن نطبع ناتج الدالة لكي نحصل عليه (أي أننا لانستطيع طباعته بشكل مباشر )
    مثال :
    كود PHP:
    <? 
    //هذا متغير عام 
    $r “salem”
    function 
    ala($s)
    {
    //هذا متغير محلى
    $s “programmer”

    //استطعنا طباعته بشكل مباشر
    echo $r ;
    ala($s);
    //يجب استخدام الداله لكي يتم طباعته 
    echo ala($s);
    ?>
    لاحظ أننا حتي لو قمنا بعملية طباعة المتغير من نفس الدالة فالناتج يكون مختلف لأن لكل متغير عالمه الخاص به
    لكي نقوم بجعل المتغير الذي بداخل الدالة متغيراً عاماً فيمكننا ذلك بإحدي الطريقيتن التاليتين :
    الطريقة الأولى :

    كود PHP:
    <?
    function ala($y)
    {
    echo 
    $y<br>
    global 
    $s;
    $s "programmer";
    return ;
    }
    $f =10;  
    ala($f);
    echo 
    $s;
    ?>
    لاحظ أننا عندما استخدمنا global في داخل الدالة لكي يتم تعريف أن المتغير متغير عام وبعدما قمنا باستخدام الدالة قامت بطباعة المتغير المراد طباعته ومن ثم بعد ذلك قامت بتعريف متغير جديد ($s) وهذا المتغير متغير عام لأننا وضعنا قبله الكلمة global فاستطعنا طباعته بكل سهوله .


    الطريقة الثانيه : هي أن نستخدم المصفوفة $GLOBALS التي تستخدم في PHP لتعريف المتغيرات العامة أيضا
    مثال :

    كود PHP:
    <?
    function ala($y)
    {    
    echo 
    $y<br>
    $GLOBALS[“s”] ;
    $s "programmer";
    return ;
    }
    $f =10;  
    ala($f);
    echo 
    $s;
    ?>
    المتغيرات المستقره (static variable)
    اقصد بالمتغيرات المستقرة هي التي تكون قيمتها ثابتة
    مثال :
    كود PHP:
    <?
    Function  addfares($y)
    {
    $y;
    $y=$y+;
    return 
    $y;
    }
    echo 
    addfares($y);
    echo 
    addfares($y);
    echo 
    addfares($y);
    echo 
    addfares($y);
    ?>

    <?
    Function  addfares($y)
    {
    static 
    $y;
    $y=$y+;
    return 
    $y;
    }
    echo 
    addfares($y);
    echo 
    addfares($y);
    echo 
    addfares($y);
    echo 
    addfares($y);
    ?>
    لاحظ عندما عرفنا المتغير بأنه static فانه يحتفظ بقيمته حتي لو انتهت الدالة .



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

    كود PHP:
    <?
    Function sum($sa)
    {
        
    $sa=$sa-1;
    function 
    goadd ($r)
    {
        
    $r $r+$r;
    return 
    $r;
    }
    $sagoadd ($sa);
    return 
    $sa;
    }
    echo 
    sum (15);
    ?>
    في مثالنا هذا لدينا دالتين الدالة الأولى هي sum والدالة الثانية هي goadd

    وظيفة الدالة الأولى هي أن تقوم بالإنقاص من العدد الذي يمرر إليها واحد ثم تقوم بتطبيق دالة داخلية فيها هي goadd تقوم بزيادة العدد على نفسه .. ومن ثم قمنا بنداء الدالة الأولى (لأنها هي الاساس التي يوجد به الدوال الداخلية ) وطباعة قيمتها .

    اشتمال الملفات (include files)
    قد يكون لديك في برنامجك متغير متكرر في أكثر من صفحة أو رسالة خطأ معينة أو تريد إدرج نص كبير الحجم في صفحات متعددة
    هنا يمكنك اشتمال ملفات في داخل ملفات الـPHP . هذه الملفات قد تحتوي على نصوص أو كود html أو كود PHP .

    إن الصيغة التي تستخدمها لاشتمال الملفات هي :
    كود PHP:
    Include (filename); 
    مثال :

    قم بفتح ملف نصي واكتب فيه ماتشاء ثم احفظه باسم a.txt
    قم بانشاء ملف php واكتب فيه ومن ثم احفظه باسم b.php

    كود PHP:
    <?
    Include (“a.txt”);
    ?>
    انقلهما الى مجلد السيرفر .. شغل ملف الـ b.php وانظر النتيجة .
    يمكنك أن تقوم بإنشاء ملف PHP وتحتفظ فيه بجميع الـfunction المطلوبة لبرنامجك وعند إرادتك لاستخدام أي واحدة منها تقوم فقط باشتمال الملف ومن ثم استدعاءها .

    داله تلوين الكود
    هل رايت مواقع تقوم بتلوين الكود بشكل مذهل مثل موقع zend ؟.... الأمر بسيط كل ماعليك أولا
    قم بوضع الكود في ملف نصي وسمه باي اسم (مثلا file.txt ) وبعد ذلك قم باستخدام الدالة

    Show_source

    مثال :
    كود PHP:
    <?
    show_source 
    ("file.txt");
    ?>

  2. #2

    افتراضي رد: الدرس السابع في لغة php

    مشكووور اخي

  3. #3

    افتراضي رد: الدرس السابع في لغة php

    الله يجزآكك الجنةة

    والله تعبَ ):

    دعوآآتكك




  4. #4

    افتراضي رد: الدرس السابع في لغة php

    يآ عسىا ربي يبشركـ بجنه
    تحياتي

المواضيع المتشابهه

  1. [الدرس السابع] تفاصيل حول قاعدة information_schema
    بواسطة ASDELY-ScOrPiOn في المنتدى دورة SQL Injection
    مشاركات: 48
    آخر مشاركة: 12-17-2015, 11:08 AM
  2. [الدرس السابع] شرح تخطي السيف مود بملف php.ini
    بواسطة ASDELY-ScOrPiOn في المنتدى دورة اختراق المواقع
    مشاركات: 88
    آخر مشاركة: 12-14-2015, 05:58 PM
  3. الدرس السابع استغلال ثغرة xss
    بواسطة pSyCh0_3D في المنتدى اختراق المواقع والسيرفرات
    مشاركات: 25
    آخر مشاركة: 02-16-2015, 07:05 AM
  4. الدرس السابع المصفوفات الترابطيه
    بواسطة ابو مشاري في المنتدى منتدى الإختراق العام
    مشاركات: 4
    آخر مشاركة: 01-23-2012, 02:30 AM
  5. الدرس السابع طريق فتح بورت في ويندوز سفن
    بواسطة حمودي خواجي في المنتدى قسم المواضيع المخالفة والمكررة
    مشاركات: 8
    آخر مشاركة: 11-23-2011, 04:46 PM

المفضلات

أذونات المشاركة

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