Hicham Al Sayed ahmed

اهلا و سهلا بكم في منتدى تقنيات الحاسوب 2013


Join the forum, it's quick and easy

Hicham Al Sayed ahmed

اهلا و سهلا بكم في منتدى تقنيات الحاسوب 2013

Hicham Al Sayed ahmed

Would you like to react to this message? Create an account in a few clicks or log in to continue.

منتدى و عالم تقنيات الحاسوب و البرمجة وانظمة التشغيل و الصيانة 2013

تؤمن لكل من يحب ان يتعلم البرمجة و كل من يدرس في هذا الاختصاص برامج و مواضيع و افكار جديدة و كيفية العمل و الكثير و الكثير و ايضا تتيح لاي شخص ان ينضم لهذا المنتدى و خاصة طلاب تقنيات الحاسوب و انظمة التشغيل و الصيانة المادية و البرمجية
تعلم الفجوال بيسك - الدلفي - السي ++ - الباسكال و الكثير و الكثير

اطرح سؤالك على فريق العمل في الفيسبوك

تابعنا على الفيسبوك

مشاركة الموضوع عبر الفيسبوك

Log in

I forgot my password

Latest topics

» تفاصيل بسيطة ومعلومات عن الهكر
لغة ( PHP ) I_icon_minitimeTue Nov 05, 2013 6:35 am by okba als

» ترحيب بالأعضاء
لغة ( PHP ) I_icon_minitimeTue Nov 05, 2013 6:09 am by okba als

» برنامج يعلمك لغة الدلفي بشكل مثير
لغة ( PHP ) I_icon_minitimeMon Nov 04, 2013 10:53 pm by سيد برتوكول

» دليل هاتف الدلفي
لغة ( PHP ) I_icon_minitimeSun Nov 03, 2013 11:24 am by سيد برتوكول

» سلسلة فيبوناتشي
لغة ( PHP ) I_icon_minitimeSun Nov 03, 2013 11:22 am by سيد برتوكول

» كود جميل ورائع جربه واعرف بنفسك ماذا يعمل
لغة ( PHP ) I_icon_minitimeWed Apr 17, 2013 1:55 am by سيد برتوكول

» المبرمجون مستائون من الواجهة الرسومية لويندوز ٨ (Windows 8)(نسخة المطورين)
لغة ( PHP ) I_icon_minitimeThu Jun 21, 2012 10:26 pm by pc-king.dahek.net

» حزيرة للعلماء
لغة ( PHP ) I_icon_minitimeTue Apr 10, 2012 3:23 am by عفريت السويداء

» اسباب تجعل الكمبيوتر يعمل بشكل بطيء
لغة ( PHP ) I_icon_minitimeSun Mar 18, 2012 6:49 am by عفريت السويداء

» دروس المبتدئين.....الدرس الأول (تعليم القص)
لغة ( PHP ) I_icon_minitimeSat Mar 17, 2012 6:03 am by عفريت السويداء

Top posting users this week

No user

Who is online?

In total there are 4 users online :: 0 Registered, 0 Hidden and 4 Guests :: 1 Bot

None


Most users ever online was 85 on Tue Nov 05, 2013 5:00 am

تابعنا على الفيسبوك


2 posters

    لغة ( PHP )

    سيد برتوكول
    سيد برتوكول
    Administrator
    Administrator


    نقاط : 146584

    لغة ( PHP ) Empty لغة ( PHP )

    Post by سيد برتوكول Wed Dec 21, 2011 2:41 am

    تتميز لغة
    PHP
    بالكثير من الخصائص التي جعلتها الخيار الأمثل لمبرمجي الويب في العالم :



    السهولة


    تعتبر لغة
    PHP
    من أسهل لغات البرمجة تعلما، فهي تريحك من جميع تعقيدات إدارة الذاكرة وتعقيدات
    معالجة النصوص الموجودة في
    C من جهة، والكثير من الضعف الموجود في بينية
    وتصميم لغة البرمجة
    Perl من جهة أخرى.


    تمتلك لغة
    PHP
    بنية وقواعدا ثابته وواضحة جدا، معظم قواعد اللغة مأخوذة من كل من
    C و
    Java و
    Perl
    لصنع لغة برمجة عالية السهولة والسلاسة دون فقدان أي من القوة في اللغة، يفيدك ذلك
    إذا كنت تعلم أي شيء عن لغات البرمجة الأخرى مثل
    Visual Basic
    أو
    C
    أو
    Java
    حيث ستجد دائما بأنك تفهم مواد الدورة بسرعة، وستكتشف كيف تقوم
    PHP
    بتسهيل أصعب الأمور وإذلال العقبات التي تواجه المبرمج حتى يتفرغ تماما للإبداع
    فقط، كل ما تفكر به تستطيع تنفيذه بلغة
    PHP.


    السرعة


    لغة PHP
    من اللغات المعروفة بسرعتها العالية في تنفيذ البرامج، وخاصة في الإصدارة الرابعة
    من المترجم، حيث تمت كتابة مترجم
    PHP من الصفر ليعطي أداءا في منتهى الروعة، كما
    أن لغة
    PHP
    مصممة أصلا كنواة لمترجم، بحيث يمكن أن تضع هذه النواة في عدة قوالب أو أغلفة
    لتعمل مع التقنيات المختلفة، فيمكنك تشغيل مترجم
    PHP
    كبرنامج
    CGI
    مثلا، ولكن الأفضل هو إمكانية تركيب مترجم
    PHP على مزود IIS
    في صورة وحدة إضافية تضاف إلى المزود عن طريق دوال
    ISAPI،
    وتوجد نسخة أخرى منه تركب على مزود
    Apache أيضا في صورة وحدة خارجية، وتوجد أيضا نسخة
    مخصصة للدمج مع شفرة مزود
    Apache بحيث تصبح جزءا من برنامج Apache
    نفسه، وهي الطريقة الأكثر استخداما الآن في مزودات الويب التي تعمل على أنظمة
    UNIX
    وهي الطريقة التي تعطي أفضل أداء لمترجم
    PHP، حيث يصبح المترجم جزءا من المزود، وبالتالي
    فإنه سيكون محملا في الذاكرة بانتظار صفحات
    PHP
    ليقوم بترجمتها وعرضها للزوار مباشرة دون التأخير الإضافي الذي تتطلبه برامج
    Perl/CGI
    مثلا حيث يجب أن يتم تشغيل مترجم
    Perl مع كل زيارة للصفحة لترجمة الصفحة، ثم يتم
    إغلاق المترجم، ثم استدعاءه مجددا عند الزيارة الثانية وهكذا، وهذا يشكل فارقا
    كبيرا في المواقع ذات الضغط العالي بالذات، ويكون استخدام
    PHP
    حلا أفضل بكثير.



    المزايا


    يأتي
    مترجم
    PHP
    لوحده محملا بعدد هائل من الدوال الجاهزة الاستخدام في جميع المجالات، من دوال
    المعالجة الرياضية والحسابية إلى دوال الوصول إلى قواعد البيانات ومزودات
    FTP،
    توفر لك دوال
    PHP
    مثلا وصولا إلى مزودات البيانات
    MySQL و PostgreSQL و MS SQL و Oracle وغيرها من مزودات قواعد البيانات، وهنالك
    أيضا مجموعة من الدوال لمعالجة ملفات
    XML، ودوال أخرى لإرسال واستقبال الملفات عن بعد
    باستخدام بروتوكول
    FTP، وهنالك مجموعة من الدوال لمعالجة وإنتاج
    الصور ديناميكيا وملفات
    Flash ديناميكيا، ناهيك عن جميع الدوال الخاصة
    بمعالجة النصوص والمصفوفات.



    التوافقية


    كما قلنا
    سابقا، فعلى الرغم من أن هنالك الكثير من نسخ
    PHP
    التي يعمل كل منها في بيئة مختلفة، إلا أنها جميعا تشترك في النواة الأصلية التي
    تقوم بالمعالجة الحقيقة لملفات
    PHP لذا فإن جميع مترجمات PHP
    تتصرف بنفس الطريقة فيما يتعلق بتنفيذ السكريبتات، فإذا كان السكريبت الذي عملته
    يعمل على نظام
    Windows
    مع مزود
    IIS
    فيجب أن يعمل دون الحاجة لأية تغييرات عند نقله إلى مزود
    Apache،
    بالطبع تظل بعض الأمور البسيطة جدا التي يوفرها بعض المزودات دون غيرها، ولكن جميع
    البرامج التي كتبتها منذ أن بدأت تعلمي للغة إلى الآن تعمل على جميع المزودات دون
    الحاجة لأي تغييرات، إضافة إلى ذلك فإن التغييرات التي حدثت باللغة الأساسية من
    الإصدارة الثالثة إلى الرابعة قليلة جدا، وأغلب التغييرات كانت في البنية التحتية
    للمترجم.



    الحماية


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



    قابلية التوسع


    يمكنك
    توسعة مترجم
    PHP
    بسهولة وإضافة الميزات التي تريدها إليه بلغة
    C،
    وحيث أن الشفرة البرمجية للمترجم مفتوحة فإنك تستطيع تغيير ما تريده مباشرة لتحصل
    على النسخة التي تناسبك من المترجم، ويمكنك أيضا عمل الوحدات الإضافية التي تركب
    على المترجم لزيادة ميزاته والوظائف المبيته فيه، وفي قد قام فريق تطوير مترجم
    PHP
    مسبقا بعمل هذه المهمة وتحويل كمية ضخمة من المكتبات المكتوبة بلغة
    C
    إلى مكتبات مخصصة لتضاف إلى المترجم، ومنها حصلنا على جميع الميزات التي تحدثنا
    عنها مثل الوصول إلى قواعد البيانات ومعالجة ملفات
    XML.


    تاريخ PHP


    بدأت PHP
    كمكتبة من الدوال تضاف على لغة
    Perl لتسهل عمل برامج CGI
    بلغة
    Perl،
    وبعد أن تلقى
    Rasmus
    Lerdof
    بعض الاقتراحات بتحويلها إلى مترجم بسيط، قام بعمل ذلك المترجم
    وطرحه على الإنترنت وسماه
    PHP أو Personal Home Pages
    أي الصفحات الشخصية، فقد كان عبارة عن نسخة مصغرة من
    Perl
    مع بعض الميزات الإضافية للويب، ثم أضاف إليه دعما لنماذج
    HTML
    وسماه
    PHP2/FI،
    فقام مجموعة من المبرمجين بالعمل على مترجم
    PHP
    وأضافوا إليه واجهة تطبيقات برمجية
    API لتسهيل عملية توسعته فأصبح لدينا PHP 3،
    بعد فترة من الزمن قامت شركة
    Zend للتقنيات بعمل مترجمها الخاص للغة والذي سمي
    zend
    أيضا، وقد اتصف هذا المترجم بالسرعة العالية وقدراته المحسنة، وجمع مع مكتبات
    PHP
    الأخرى لتكوين نواة المترجم
    PHP، مترجم PHP
    الآن مقسم على قسمان: المترجم
    zend ويتم تطويره على مزودات CVS
    الموجودة في موقع
    zend
    والقسم الثاني يسمى
    PHP وهو عبارة عن المكتبات والدوال الأساسية
    التي تأتي مع البرنامج، يقوم مترجم
    zend بقراءة الملفات ومعالجتها والتعامل مع
    المتغيرات وتنفيذ البرنامج وتوفير واجهة تطوير للتطبيقات
    API
    لتوسعة اللغة، أما
    PHP فتحتوي الآن على مكتبات مكتوبة بلغة C
    ومتوافقة مع واجهة التطبيقات التي يوفرها مترجم
    zend،
    وبالتالي يعمل القسمان معا لتكوين مترجم
    PHP، وعندما تزور موقع PHP الرسمي الآن وتحصل على مترجم PHP
    جاهزا أو تحصل على الشفرة البرمجية الخاصة بك، فإنك تحصل على كل من مترجم
    zend
    ومكتبات
    PHP
    معا.



    تطور PHP
    تطورا مفاجئا في الفترة الأخيرة، وتشير إحصائيا
    Net Craft إلى
    أن مترجم
    PHP
    هو أكثر وحدات مزود
    Apache انتشارات على الإنترنت، كما أن مترجم PHP
    مركب على حوالي مليوني مزود ويب على الإنترنت.







    بنية ملفات PHP


    ملفات PHP
    هي ملفات نصية بسيطة، تشبه في تركيبها ملفات
    ASP
    وملفات
    HTML
    بشكل عام، يتكون ملف
    PHP من قسمان، قسم HTML
    وقسم
    PHP،
    الملف بالصورة الطبيعية عبارة عن ملف
    HTML عادي، ولكنك تستطيع تحديد أجزاء معينة من
    الملف ليخرج فيها الملف من وضعية
    HTML إلى وضعية PHP،
    لإخراج الملف إلى وضعية
    PHP توجد عدة طرق :


    1 - استخدام
    زوح الوسوم <?
    php و
    ?> كالتالي :



    <?php


    echo 'This is PHP output!';


    ?>


    2 - استخدام زوج المختصر <? و ?> وهو
    يستخدم بنفس الطريقة السابقة ولكنه يكون بدون الكلمة
    php
    في وسم البداية، هذا النوع من الوسوم يحتاج إلى كمية أقل من الكتابة بالطبع، ولكنه
    يتعارض مع وسوم
    xml،
    لذا يقوم البعض بإغلاق ميزة الوسوم القصيرة حتى لا يحصل هذا التعارض ( يمكنك اغلاق
    هذه الميزة بسهولة عن طريق ملف إعدادات
    PHP ).


    3 - استخدام زوج الوسوم ASP،
    وهو من اسمه زوج الوسوم المستخدم في ملفات
    ASP وهما <% و %>، ميزة وسوم ASP
    لا تكون فعالة بشكل قياسي ولكنك تستطيع تفعيلها عن طريق ملف إعدادات مترجم
    PHP.


    4 - الطريقة الأخيرة هي استخدام زوج الوسوم
    التالي :



    <script
    language="php" >



    echo
    'This is PHP output!';



    </script>


    ولكن هذه الطريقة غير
    مستخدمة الآن، حيث أنها تصعب عملية التمييز بين شفرات
    PHP
    وباقي ملف
    HTML،
    وكذلك بالنسبة لبرامج كتابة ملفات
    HTML التي تعطي تلوينا للشفرة فأغلبها لا يتعرف
    على هذا النوع من الشفرة ويعتبره جزءا من ملف
    HTML
    الاعتيادي.



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



    كتابة ملفات PHP


    ملفات PHP
    هي ملفات نصية بسيطة تماما كما هي ملفات
    HTML، يمكنك كتابة سكريبت PHP
    بأي برنامج كتابة نصوص يتيح لك كتابة الملفات النصية البسيطة
    Plain Text
    مثل
    Notepad
    على النظام ويندوز، ولكن أغلبية مبرمجي
    PHP يستخدمون أدوات أخرى تسهل عليهم عملية
    البرمجة عن طريق تلوين الشفرات البرمجية، وتسهل عملية البحث عن الملفات واستبدال
    المقاطع من عدة ملفات في نفس الوقت، مثل
    HomeSite، على الرغم من أنك لن تحتاج إلى الكثير من
    هذه الميزات إلا أن استخدام
    Notepad في عمل ملفات PHP
    يعتبر أمرا صعبا جدا وخاصة في الملفات الضخمة حيث أن
    Notepad
    لا تتيح فتح الملفات الكبيرة، والمشكلة الأكبر هي أنها لا توفر ترقيما للأسطر،
    فإذا ظهرت لك رسالة الخطأ تشير إلى وجود خطأ في السطر 53 فلن تستطيع معرفة السطر
    المطلوب في
    Notepad
    إلا إذا قمت بالعد يدويا من السطر الأول وحتى 53 .. حسنا ماذا لو كان الخطأ في
    السطر 652، يمكنك البدأ بكتابة سكريبتاتك بالبرنامج المتوفر الآن إلى أن تحصل على
    برنامج آخر، يمكنك بالطبع فتح ملفاتك بأي محرر نصوص، فإذا كتبتها باستخدام
    Notepad
    فهذا لا يعني بأنك ملزم باستخدام
    Notepad في جميع ملفاتك أو حتى في هذا الملف.


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



    تذكر بأنك
    يجب أن تزور الصفحة مرور بمزود الويب، ولا يمكنك عرض الصفحة عن طريق فتحها كملف
    خارجي، على سبيل المثال، إذا كان الدليل الجذري لصفحات مزودك هو :
    C:\httpd\



    وقمت بعمل
    صفحة أسميتها
    test.php
    في ذلك الدليل، يجب أن تقوم الآن بتشغل مزود الويب وزيارة الصفحة على العنوان http://localhost/test.php،
    إذا قمت باستخدام الأمر
    Open من القائمة File
    في المتصفح لفتح الملف
    C:\httpd\test.php فلن ترى صفحة PHP
    مترجمة، وسترى شفرة
    PHP فقط.


    تدريب


    قم بتنفيذ ملف PHP
    التالي :



    This is the normal html page.<br>


    <?php


    echo
    "This is inside PHP<br>";



    echo
    "Hello World!<br>";



    ?>


    ما الذي تشاهده عند تنفيذ البرنامج
    السابق؟ من المفترض أن تشاهد الخرج التالي :



    This is the normal html page.


    This is inside PHP


    Hello World!


    ها قد
    انتهيت من كتابة برنامجك الأول بلغة
    PHP، لا تقلق إذا لم تفهم أي شيء فيه، سنتعلم
    الآن كيفية استخدام المتغيرات والعبارات بلغة
    PHP.


    مع تحيات سيد برتوكول
    سيد برتوكول
    سيد برتوكول
    Administrator
    Administrator


    نقاط : 146584

    لغة ( PHP ) Empty بروتوكولات الانترنت :

    Post by سيد برتوكول Wed Dec 21, 2011 3:07 am

    بروتوكولات الانترنت :





    لانريد
    هنا أن نذهب إلى التكلم عن تاريخ انترنت العتيق ، النقطة المهمة هي الشبكة المربوطة
    بنقاط
    nodes الانترنت صممت لكي تقوم بالحفاظ على
    المعلومات لكي يتم نقلها من مكان إلى آخر وهي تستخدم مجموعة من البروتوكولات مثل
    Tcp/Ip لكي يتم نقل البيانات عبر الشبكة .





    بروتوكول Tcp/Ip


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






    قبل
    أن يتم إرسال البيانات عبر الشبكة يجب عنونتها والبروتوكول الذي يقوم بعنونة
    البيانات يدعي
    HTTP يقوم هذا البروتوكول بوضع عنونة للبيانات
    لكي يعرف البروتوكول
    TCP أين سينقل البيانات (فهو
    لايستطيع نقل البيانات إذا لم يكن لها هدف أو مكان ) يستخدم البروتوكول
    HTTP عن طريق الويب في عملية نقل البيانات من
    كمبيوتر إلى آخرعندما ترى الصفحة متبوعة بـ
    http:// فانك تعلم مباشرة أن الانترنت يستخدم البرتوكول HTTP لإحضار هذه الصفحة يمكنك أن تاخذ صورة بأن
    الـ
    TCP عبارة عن ساعي بريد الذي يقوم بإيصال رسالة ،
    هذه الرسالة فيها طابع بريد وعنوان وهو مانسميه بالـ
    HTTP .





    يتم
    تمرير الطلب من المستعرض إلى ملقم أو سيرفر الويب وهو مايعرف بـ
    HTTP request ويقوم السيرفر برؤية مستودع البيانات لديه
    لكي يحصل على البيانات المطلوبة فإذا وجد الصفحة في المستودع قام بإرسالها على شكل
    حزم الى الجهة التي قامت بالطلب باستخدام بروتوكول
    TCP ويعنون هذه الحزم لمستعرض الانترنت لديك
    باستخدام بروتوكول
    http (ننبه دائما الى أنه
    يرسلها على شكل حزم لكي تعرف السبب عند عدم ظهور صفحة ويب كاملة أن هناك حزمة لم
    ترسل بشكل جيد) ولكن إذا لم يجد السيرفر الصفحة المطلوبة فانه يقوم بإرسال صفحة
    تحتوي على رسالة خطا 404 وهذه الصفحة التي أرسلت من ملقم الويب الى المستعرض لديك
    تسمي
    HTTP
    response

    .






    بروتوكول الـ HTTP


    رغم
    ما أخذناه من معلومات كثيرة وقصص كثيرة تشبه قصص ألف ليلة أو حكايات الأطفال إلا أنه
    رغم ذلك يفوتنا الكثير من التفاصيل في هذا الموصوع لذلك دعنا نغوص قليلاً في
    التفاصيل عن بروتوكول
    HTTP بشكل خاص.





    عندما
    تقوم بعملية طلب لصفحة من السيرفر هناك أمور إضافية ترسل مع عملية الطلب
    http request غير الـURL وهي ترسل كجزء من http request .


    نفس
    الموضوع مع ال
    http
    response

    هناك أمور أخرى تصل معه كجزء منه .






    الكثير
    من هذه المعلومات تولد تلقائياً في رسالة الـ
    HTTP ولايقوم المستخدم بالتعامل معها مباشرة , إذن
    لايحتاج أن تقلق نفسك بشأن هذه المعلومات إذا أنت لم تنشأها في الأصل ويجب أن تأخذ
    أيضا في معلوماتك أن هذه المعلومات ترسل كجزء من الـ
    HTTP request والـHTTP response لأن سكربت الـPHP الذي نصنعه يمنحنا تحكماً إضافيا بهذه
    المعلومات .






    كل
    رسائل الـ
    HTTP تأخذ تنسيقاً معيناً سواء كانت Request أو Response . نستطيع أن نقوم بتقسيم هذا التنسيق إلى
    ثلاثة أقسام :



    1 -
    Request/response
    line



    2 -
    Http
    header



    3 -
    Http
    body






    المحتوي
    من هذه الأشياء الثلاثة يعتمد على نوع الرسالة إذا كانت
    HTTp Request أو HTTP response لذلك سنتكلم عنهم بتعمق أكثر .





    Http Request


    يجب
    أن يحتوي الـ
    request على الأقل الـrequest line (سطر الطلب) والـHOST .


    يرسل
    مستعرض الانترنت طلبية (
    HTTP
    request
    )
    إلى ملقم الويب تحتوي على التالي :






    1- The Request Line


    السطر
    الأول من كل طلبية (
    http
    request
    )
    هي
    Request Line الذي يحتوي على ثلاثة أنواع من المعلومات :


    أ -
    أمر
    HTTP وهو مايعني بـ method .


    ب -
    المسار من السيرفر إلى المصادر المطلوبة (صفحات الانترنت ) المطلوبة من قبل العميل
    (المستعرض)



    جـ -
    إصدارة الـ
    HTTP .





    إذن
    كمثال على الـ
    Request
    Line
    أنظر إلى السطر التالى :


    GET /testpage.htm HTTP/1.1





    الـmethod يخبر السيرفر كيف يتعامل مع الطلب هناك ثلاثة
    أنواع شائعه من الـ
    method




















    2-
    HTTP
    Header



    البت
    الثاني من المعلومات هو الهيدر
    HTTP
    Header

    .الذي يحتوي على تفاصيل أو وثائق عن العميل مثل نوع المتصفح (نتسكيب أو إكسبلور)
    الذي قام بطلب الصفحة والوقت والتاريخ والإعدادات العامة



    الـHTTP Header يحتوي على معلومات نستطيع تقسيمها الى ثلاث
    فئات وهي :



    أ -
    عامة
    GENERAL : تحتوي معلومات إما عن
    العميل أو السيرفر ولاتخصص إلى فرد أو مجموعة .



    ب -
    شخصية
    Entity : تحتوي على معلومات عن
    البيانات التي أرسلت بين المتصفح والسيرفر .



    جـ -
    مطلوبة
    Request : تحتوي على بيانات عن إعدادات
    العميل والأنواع المختلفة المقبولة من البيانات .






    وهذا
    مثال :



    Accept: * / *




    Accept language: Arabic-KSA.


    Connection: Keep –Alive.






    User –Agent :Iexploer (win98;.........)





    مثلما
    ترى الـ
    HTTP
    Header

    عبارة عن إعداد يتكون من عدة سطور كل سطر يحتوي على قيم معينة .






    هناك
    عدة سطور تشكل الـ
    HTTP
    header

    وأكثرها إختياري , يقوم الـ
    HTTP بالإخبار عن إنتهاء معلومات الـ header بترك سطر فارغ (وهذا يكون في الـHTTP1.1 ) .





    3-
    The
    HTTP Body

    :



    إذا
    تم استخدام الأمر
    POST في الـHTTP Request Line عندها يقوم الـ HTTP بطلب المعلومات التي ارسلت في الـbody الى السيرفر .





    Http Response


    يرسل
    من السيرفر إلى المستعرض ويحتوي على ثلاثة أشياء :



    1-
    the
    Response Line




    2 -
    http
    header



    3 - Http Body






    1 -
    The
    Response Line



    الـ
    response line يحتوي فقط على نوعين من المعلومات :


    1 - رقم
    إصدارة الـ
    HTTP .


    2 -
    شفره أو كود الـ
    http
    request

    التي تقوم بتحديد إذا كان الـ
    request ناجحاً أم فاشل .





    مثال
    :



    HTTP/1.1 200 OK





    في
    هذا المثال يقوم الـ
    response
    line

    بإرجاع القيمه 200 متبوعة بالكلمة
    OK هذه تشكل وتشير إلى نجاح الـ request ويكون الـresponse يحتوي على الصفحة المطلوبة والبيانات من
    السيرفر . ومثال آخر هو الشفرة 404 عندما تقوم بطلب صفحة ويفشل السيرفر في الحصول
    عليها .






    2 -
    HTTP
    Header



    الـ
    response header يعتبر مشابه request hader الذي ناقشناه في الأعلى .وتنقسم المعلومات
    التي فيه أيضا إلى ثلاثة أنواع :



    أ -
    عامة
    GENERAL : معلومات عن الـ client أو السيرفر ولاتخصص إلى واحد منهما .


    ب -
    شخصية
    Entity : يحتوي على معلومات عن
    البيانات التي يتم ارسالها بين السيرفر والعميل .



    جـ -
    الإجابة
    Response : يحتوي معلومات عن
    السيرفر الذي قام بإرسال الرد وكيفية تعامله ومعاجلته للرد (
    Response ) .





    كما
    قلنا سابقاً ، يتكون من عده سطور ويتم وضع سطر فارغ للإعلام عن إنتهاء الهيدر .






    مثال
    :



    HTTP/1.1 200 OK -the satus line


    Date: Mon; 1st Nov 1999, 16:12:23 GMT -general header


    Server : Apache/1.3.12 (Unix)
    (SUSE/Linux) PHP/4.0.2 -the response


    Last-modified: Fri, 29 Oct 1999, 12:08:03 GMT -Entity Header





    السطر
    الأول ناقشناه والسطر الثاني مفهوم من غير شرح ، السطر الثالث يقوم بتحديد
    البرنامج تبع السيرفر ونوعه ونظام التشغيل القائم عليه والسطر الأخير يقوم بتعريف آخر
    وقت تم فيه تعديل أو تجديد الصفحة .






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






    3 -
    Http
    Body



    إذا
    تم معالجة الطلب بنجاح ، فإن الـ
    HTTP
    response Body

    يحتوي على كود الـ
    HTML ويقوم مستعرض الانترنت بتفسيرها وتحويلها إلى
    الصفحة النهائية التي تراها .






    أين سكربت الـPHP من ذلك كله ؟


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






    تكلمنا
    عن أن سكربت الـ
    php يتكون من ثلاثة أشياء : نص وكود php وكود html ، لانسطيع وصف الـhtml بأنها لغة برمجة بشكل جيد ونستطيع أن نقول أن
    الـ
    php لغة سكربتات Scripting Language لأنها تضيف قدرات html عليها مثل الجداول والفريمات بكود html بداخل كود الـphp هناك لغات تسمي لغات سكربتات قد تكون متآلفاً
    معها مثل الجافا سكربت والفجول بيسك سكربت بإستثناء أن الفرق بينها وبين الـ
    php هو أن الـphp لغة تعتمد على جهة المزود أي السيرفر ويمكنك
    تخصيص المتصفح الذي يستعرضها .



    تجعلنا
    الـ
    html نضمن سكربتات الـphp فيها ضمن قواعد لذلك لكي نستطيع تشغيلها
    ولكننا لاننسي أن إمتداد الملفات يظل كما هو
    php أو php3 بدون تغير فيه لكي يتم إرسال السكربت الى مكتبة
    الترجمة (
    scripting
    engine
    )
    التي تقوم بترجمة السكربت إلى
    html (كأنك تترجم من عربي لإنجليزي أو العكس )





    مفهوم الـparsing و الـExecution :


    ممكن
    أن نقسم عملية الترجمة الذي يقوم بها سيرفر
    php إلى قسمين أو عمليتين :


    العملية الأولى :
    هي أن السيرفر يقوم أولا بفحص قواعد اللغة وهذا لايضمن أن السكربت صحيح مائة
    بالمائة ولكنه تدقيق في الأوامر وقواعد اللغة وهذا مايسمونه بالـ
    Parsing


    العملية الثانية
    : هي تنفيذ السكربت بعدها وإخراجه على شكل كود
    html وهذا مايسمي بالـ Execution .





    بقي
    أن نقول أمراً معروفاً وهو أن السكربتات نوعين :






    1 -
    وهو ماينفذ من جهة المزود



    Server
    –Side scripting



    2 - ماينفذ من جهة المستعرض (صفحة انترنت) .
    مع تحيات سيد برتوكول
    سيد برتوكول
    سيد برتوكول
    Administrator
    Administrator


    نقاط : 146584

    لغة ( PHP ) Empty التعليقات

    Post by سيد برتوكول Wed Dec 21, 2011 3:13 am

    التعليقات


    ما رأيك إذا كنت في شركة وكان معك أكثر من مبرمج وأردتم تصميم برنامج ، اإذن قد تحتاجون لتنظيم العمل وتعديله لذا من اللازم أن تقوم بعمل توضيح لفائدة الكود الذي كتبته كي يسهل فهمه عليهم وإضافة تعديلات مناسبة ، إذن التعليقات تستخدم في الإفاده عن شرح الأكواد أو إضافة معلومات لاتستعمل إلا كتوضيح أو أي شي آخر . يمكنك عمل تعليق من سطر واحد كالتالى :<?//هذا تعليق لافائدة له له اي معني?>مثال آخر :<?//هذه الداله تقوم بطباعه الكلمه تعليقEcho “تعليق”;?> وأيضا يمكنك استخدام تعليق من أكثر من سطر كالتالي : <?/*تعليق يتكون من اكثر من سطر بعلامة السلاش والنجمه */?>
    المتغيرات


    ماهي المتغيرات ؟ أبسط تعريف يمكن أن نقوله عن المتغير هو أنه مساحة من الذاكرة تستخدم لتخزين المعلومات ويتم التحكم فيها عن طريق المبرمج في الـPHP ، المتغيرات تبدأ بعلامة الـ$ ولكي تقوم بإدخال قيمة في المتغير فإنك تستخدم المعامل (=) إذن لكي تقوم بإنشاء متغير يحتوي على قيمة يمكنك القيام بذلك كالتالى : $alfares = How Are You Every Body?”;$اسم_المتغير = قيمه ; لاحظ أن السطر السابق يتكون من خمسة أشياء : 1 / المتغير وهو alfares2 / وقبله علامة الـ$ لكي يعرف مترجم الـPHP أنه متغير 3 / المعامل ( = )4 / الفاصلة المنقوطة ( ; )5 / القيمة وهي How Are You Every Body? وهي القيمة الموجودة في المتغير أو التي اقترحناها للمتغير أو التي وضعناها فيه ( لأن الذي اقترح القيمه هو أنت (مبرمج الphp ) ) ملاحظات : 1- اسماء المتغيرات حساسة لحالة الأحرف إذا كانت كبيرة وصغيرة <?$Ahmed = “salem”;$ahmed = “slmoon”;echo $ahmed;echo $Ahmed;?> المتغيرين الذين بالأعلي مختلفين بسبب حالة الأحرف. 2 - يمكنك استخدام المعامل (_) $First_name3 - يمكنك استخدام ألف حرف في تسميه المتغيرات (وفي الواقع هي غير محدده) . علامات التنصيص وهذه نقطة مهمة وهي لماذا وضعنا علامات التنصيص هذه ؟ فالإجابه تكون هي أن القيمة التي وضعناها حرفية أي تتكون من نصوص وهناك أنواع للمتغيرات وعلى ذلك سنفصل ونقول هناك انواع للبيانات وهي :1 - strings (حروف)$Exa = “Just An Example”;$Exa2 = “2.5”;$Exa3 = “2”;2 - Integer (ارقام)$Exam = 5;3 - Double (ارقام ذات فواصل )$num= 5.44 - array ياتي تفصيلها فيما بعد 5 - objects تفصيلها في دروس اخري6 - Unknown .ياتي تفصيلها في درس اخر . المتغيرات لايتم تعريف نوعها من قبل المبرمج إنما مترجم الـPHP يقوم بالتعرف عليها لكي يتم إتمام العمليات المختلفه عليها . البيانات الحرفيه / في الـPHP أي قيمة تكون بين علامتي تنصيص عادية أو علامة تنصيص مفردة يعتبرها الـPHP قيمة حرفية أمثلة : “هذا النص بين علامتي تنصيص عاديه اومزدوجه”‘هذا النص بين علامتي تنصيص مفرده او وحيده’ يجب أن يبدأ النص وينتهي بنفس علامة التنصيص ، وإلا فلن يتعرف الـPHP على القيمة الحرفية أو على النص .<?$d=غلط echo خطا ?>لايمكنك أيضاً أن تقوم بوضع علامة تنصيص من نفس النوع التي تستخدمه القيمة الحرفية في وسط العبارة الحرفية أو النص <?$variable = “هذا النص "خطابسبب وجود علامة في النص من نفس النوع"”;?> وتصحيحه <?$variable = صحيحهذا النص”;?>وأيضا مثال آخر <?$r = “This isBAD”; // خطأ$t = “This is ‘good”; // صحيح?>أما إذا كنت مصراً على ذلك أو تحتاج إليها في عمليات ضرورية (كما سوف نري فيما بعد حاجتنا إليها في صناعة النماذج ) فيمكنك وضع معامل (\) قبل علامة التنصيص .لكي تعمل معك بكل سهولة . مثال :<?$u = “This Only An \” Example\” To Make You Understand Nothing”;?> طيب ما رأيك لو أردنا أن نطبع المعامل (\) بنفسه ؟ الحل هو أن نتبعه بمثله ، وبالمثال يتضح المقال : $file = "c:\windows\system.ini";
    echo $file; // النتيجه c:windowssystem.ini



    $file = "c:\\windows\\system.ini";
    echo $file; // النتيجه c:\windows\system.ini يمكنك الجمع بين أكثر قيم المتغيرات في متغير واحد عن طريقة الـ(.) <?$first = “منتدي” ;$last = “المطور العربي”;$fullname = $first. $lastEcho $fullname ;//ولكننا نريد وضع فراغ بين الكلمتين$fullname= $first . ’ ’ . $last ;Echo $fullname ;?> وأيضا يمكننا أن ضيف إلى متغير قيمة متغير آخر :<?$f="I Love M" ;$k= "y Country" ;//إضافه القيمة الى المتغير$f = $f . $k;echo $f;?> <?//تقريباً نفس العملية $f="I Love M" ;$k= "y Country" ;$f.=$k;echo $f;?>
    الارقام


    العدد الفردي والمزدوجالاختلاف المعروف لدي أنا حتى الآن هو أن الفرق بينهما هو الفاصلة العائمة (والله حتي اعطاءها هذا الاسم يجعل الواحد يشعر بالاحباط والخوف )لاحظ أننا لا نستخدم علامات التنصيص وذلك ليعرف الـPHP أنها بيانات رقمية قد نستخدمها في عمليات حسابية معقدة ويمكننا تطبيق عمليات حسابية بسيطة عليها إذا كانت حرفية . //هذا عدد فردي$j=2//هذا عدد مزدوج$h=4.5
    العمليات الحسابيه


    هي مثل الجمع والطرح والضرب والقسمة وهي مرتبة كالتالي :أولاً /الأقواس ثانياً /الضرب ثم القسمه .ثالثاً / الطرح ثم الجمع <?Echo 5*2/5;Echo 5*(2/5) ;?> مثال آخر : <?Echo 5-6+9 ;?> مثال لعملية حسابية نستخدم فيها متغير حرفي <?$W="2L";$E= 2;$F = $W * $E;echo $W .' ' .$E .' ' .$F;?>مثال لعملية أخري لكنها لم تعمل وعليك استنباط السبب بنفسك (هاه طل زين ) :<?$W=”L10”;$E= 2;$F = $W * $E;echo $W .’ ‘ .$E .’ ‘ .$F;?>يمكننا إضافة رقم واحد الى متغير بثلاث طرق متنوعة :مثال $j++أو $j = $j+1أو $j += 1 ويمكننا على ذلك إضافه المتغير إلى نفسه كالتالي : $j += $jأو كالتالي : $j = $j + $j
    متغيرات النظام


    هناك متغيرات يستخدمها النظام يمكنك أن تستعملها ومنها $HTTP_USER_AGENTالتي تظهر لديك نوع المستعرض الذي يستخدمه العميل مثال :<?Echo $HTTP_USER_AGENT ;?>
    الثوابت


    يمكننا تعريف الثوابت بقول أنها قيم ثابتة لاتتغير ونعرفها عن طريق الدالة defineالثوابت حساسة أيضا لحالة الآحرف <?Define (“author”, “alfarees”);Echo “author is “ . author ;?> هناك ثوابت يستخدمها النظام مثلPHP_OS التي تقوم بعرض نظام التشغيل الذي يستخدمه السيرفر مثال :<?Echo PHP_OS;?> معرفه وتحويل انواع البيانات إذا أردت أن تعرف نوع متغير ما يمكنك استخدام الدالة gettype مثال :<?$n=5;$l ="hi";echo "The n Is " . gettype ($n) . "<br>";echo "The l is " . gettype ($l);?> إذا أردت تحويل نوع متغير ما يمكنك ذلك باستخدام الدالة settype : مثال : <?$n = 10 ;echo "Before is " . gettype ($n) ."<br>";settype ($n,"string");echo "After That is go " . gettype ($n);?> الدالة isset لمعرفة إذا كان المتغير منشأ مسبقاً أم لم يتم انشاؤه وهي لا تتطلب غير اسم المتغير الذي تريد فحص وجوده وتقوم بارجاع القيمة (1) إذا كان المتغير تم انشاؤه ولاترجع أي قيمة إذا كان المتغير غير منشأ أو موجود . مثال : <?$n = “n”;Echo isset ($n);?> الدالة unset تقوم بحذف المتغير إذا كان موجوداً وتحرير الذاكرة منه ( لذلك تأكد جيداً قبل استخدام هذه الدالة من اعطاء دمعة الوداع للمتغير المسكين ) <?$n = “n”;unset ($n);Echo isset ($n);?> الداله empty تقوم بإرجاع القيمة ( 1 ) إذا كان المتغير غير منشأ أو أن القيمة التي فيه صفر (0) أو
    نص فارغ ("") ولاتقوم بإرجاع أي شي اذا كان المتغير منشأ وفيه قيم غير المذكورة .
    مع تحيات سيد برتوكول
    عفريت السويداء
    عفريت السويداء
    عضو مميز
    عضو مميز


    نقاط : 1157

    لغة ( PHP ) Empty Re: لغة ( PHP )

    Post by عفريت السويداء Wed Dec 21, 2011 3:23 pm

    أبو حنفي

    معلومات جميلة عن هذه اللغة

    انشاله ندرسا بالمستقبل

    الله يعطيك العافي على المجهود

    لك تحياتي



      Current date/time is Sun Apr 28, 2024 6:45 pm