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

انضم إلى المنتدى ، فالأمر سريع وسهل

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

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

5 مشترك

    PHP الدرس الأول

    Desperado
    Desperado
    مصيافي ماسي
    مصيافي ماسي


    عدد الرسائل : 1157
    مكان الإقامة : مصياف - حمص
    Personalized field : PHP الدرس الأول Female20
    التقييم : 8
    نقاط : 1782
    تاريخ التسجيل : 30/06/2009

    PHP الدرس الأول Empty PHP الدرس الأول

    مُساهمة من طرف Desperado 3/7/2009, 7:17 pm

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

    نظرة تمهيدية :
    من المعلوم ان ظهور الانترنت ادى الى تطور هائل في مجال الاتصالات وتكنولوجيا المعلومات بشكل مذهل , وفي زمن قياسي .

    وهي بحد ذاتها عباره عن شئ مذهل , فهي تسمح لملايين الاشخاص في انحاء العالم بالتواصل مع بعضهم البعض وتبادل العلوم والمعارف من خلال جهاز الحاسوب , فتصور انه بإمكان شخص يعمل على جهاز حاسب في مقهى انترنت موجود في حارة الدمغه في مدينه الحديدة في اليمن , ان يقرأ كتاب موجود في مكتبه موجود في مدينه "تشي وينج هونج!!" في اليابان في طرف العالم . فهذا بحد ذاته سحر !! ..

    وكما نعرف أيضا فإن شبكه الانترنت مكونه من ألوف مؤلفه من الشبكات والاجهزه في العالم المتصلة مع بعضها البعض . وهذه الشبكة الضخمة تعمل على مبدأ الزبون/الخادم client/server .
    ومن ضمن الخدمات التي تقدمها شبكة الانترنت خدمه الويب أو www (Word Wide Web) التي ساعدت في تغيير مفهوم استخدام الانترنت بعدما كانت الانترنت حكراً على استخدام الأكاديميين والشركات والحكومات إلى جعل الانترنت والويب خصوصاً متاحة للكل بلا اسثناء .
    وخدمة الويب تجعل من الممكن الحصول على المعلومات بجميع أشكالها سواء نصية Text أو وسائط متعددة Multimedia (صور , فيديو , أصوات .. الخ ) بشكل سهل وواجهه مبسطه . والويب بشكل عام مكونه من الملايين من صفحات الويب Web pages والتي تحتوي على معلومات نصية أو وسائط متعددة والتي أيضا قد تحتوي على رابط Link لصفحة أخرى موجودة في أي مكان في العالم والتي يمكن الانتقال إليها بمجرد الضغط على هذا الرابط .

    وصفحات الويب هذه تكون مكتوبة بشفرة أو لغة تسمى HTML (HyperText Markup Language) واخواتها (XHTML) والتي هي عبارة عن مجموعه من العناصر التي تحدد بناء الصفحة (يرجى مراجعه لغة HTML ) .
    وصفحات الويب هذه يمكن مشاهداتها والاطلاع عليها بواسطة برنامج مساعد يسمى المتصفح browser مثل الانترنت اكسبلور ا و متصفح الفايرفوكس وغيرها و الذي يقوم بقراءة شفرة الـ HTML الخاصة بصفحه الويب المطلوبه وتحويلها إلى صيغه مرئية واضحة للمستخدم . وهنا يظهر مبدأ الزبون/الخادم client/server الذي تحدثنا عن سابقاً .
    فأجهزة الخوادم Servers الموجودة في الانترنت هي التي تحتوي على الصفحات والمعلومات (المواقع) , وهي أجهزة تمتلك مواصفات مادية عاليه وبرامج خاصة تجعل من الممكن استخدامها كخوادم , ولها رقم IP (عنوان خاص على الانترنت ) ثابت ومعروف . وفي حالة الويب , يسمى هذا السيرفر بـ "المستضيف Host" وفية برنامج خاص يسمى الويب سيرفر Web Server .
    تعريف:
    المستضيف هو عبارة عن سيرفر ذو مواصفات خاصة موجود على الانترنت ويتم فيه وضع المواقع والبيانات الخاصة بها , وهو ما يشير إليه مصطلح "استضافه المواقع" .
    تعريف:
    الــ HTTP هو اختصار HyperText Transmission Protocol وهو برتوكول يسمح بتراسل صفحات الويب خلال شبكة الانترنت .
    تعريف:
    الويب سيرفر هو عبارة عن برنامج موجود في السيرفر "المستضيف" ويقوم هذا البرنامج باستقبال طلبات صفحات الويب والتي تأتي غالباً من المتصفح الخاص بالزبون ويقوم بالاستجابة لهذا الطلب ومن ثم إرجاع الطلب . ويتم هذا التواصل من خلال بروتوكول الــ HTTP . ومثال على برامج الويب سيرفر هو سيرفر الاباتشي Apache (مقتوح المصدر) والـ IIS (من مايكروسوفت ) .
    أما الأجهزة الزبون Client هنا هي الأجهزة التي نعمل عليها عندما نتصل بشبكة الانترنت والتي تحتاج إلى برنامج المتصفح لكي نستطيع الاطلاع وعرض الصفحات التي نطلبها من الخادم . والشكل التالي يوضح هذه الفكرة :

    [/img]PHP الدرس الأول 586084763
    وألان , دعونا نسرد سيناريو بسيط لنفهم آلية طلب صفحات الويب .

    لنفترض انه لدينا اتصال بشبكة الانترنت , ومن ثم قمنا بتشغيل المتصفح وطلبنا الصفحة التالية عنوان الـ URL ( عبارة عن عنوان مميز لكل صفحه على الويب ) التالي : [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] , فسوف يحدث ألان التالي :
    1- بعد أن نكتب عنوان الـ URL ونطلب الصفحة , سوف يقوم المتصفح بالاتصال مع الويب سيرفر المسمى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] و يطلب الصفحة التي باسم directory.html بواسطة برتوكول HTTP (سوف نتحدث عنه لاحقاً ) .
    2- سوف يستجيب الويب سيرفر [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] للطلب, ويبحث عن الملف directory.html.
    3- سوف يقوم بعدها الويب سيرفر بقراءة الملف directory.html من القرص الصلب الخاص بالسيرفر .
    4- بعدها القراءة , سوف يقوم الويب سيرفر بإعادة محتوى directory.html الى المتصفح .
    5- وبما أن محتوى الصفحة directory.html هو شفرة HTML , سوف المتصفح اذاً بقراءة هذه الشفرة ويترجمها ويحولها الى واجهه مرئية للمستخدم .
    والشكل التالي يوضح السيناريو السابق :

    PHP الدرس الأول 315777694
    الذي من المهم ان نفهمه الان , هو ان الملف directory.html يتعتبر صفحه ويب ساكنه static web page لانها ببساطه هي فقط نقل المعلومات التي كانت في الملف directory.html من السيرفر الى المتصفح كما هو , فاي شخص يطلب نفس العنوان السابق , سوف تظهر نفس المحتويات على الصفحه بدون اي تغيير , لذلك تسمى صفحه ويب ساكنه .

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

    لكن في الغالبية الاخرى من الحالات سوف لن يكون استخدام الصفحات الساكنه مجدياً ابداً . لنفهم ذلك , لنفترض اننا نريد بناء منتدى لغرض تبادل الاراء والخبرات , وجعل هذا المنتدى متاح للجميع مما يعني انه سوف يزوره عشرات الالاف من الزوار .
    لنفترض ان صفحات الموقع مبنيه بشكل ساكن , فانه في هذه الحالة , اذا اردت اضافه موضوع جديد للمنتدى , سوف اضطر ان اقوم بكتابه صفحه HTML بإي برنامج سواء الـ FrontPage او Dreamwaver , ومن ثم اقوم برفع الصفحه الجديدة الى الويب سيرفر حتى يتمكن باقي الزوار من جميع انحاء العالم الاطلاع على الموضوع , واخيراً افتح الصقحه الرئيسية للموقع واعدل في شيفرة الـ HTML بواسطه اي برنامج واضيف رابط جديد يشير الى الموضوع الجديد حتى يعرف الزوار انه تم إضافه موضوع جديد ..

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

    قد يكون هذه العملية متعبه بعض الشئ اذا كان لدي خمسة او عشرة مشاركات في اليوم . فما بالك اذا كانت هناك مئات المشاركات يومياً !!!! .

    والطريقة الخيالية الثانية , هي اعطاء صلاحيات الوصول للسيرفر للزوار الذين يريدون المشاركة حتى يقوموا هم بإنفسهم بكتابة صفحات الـ HTML بإستخدام الفرونت بيج مثلاً , ومن ثم يرفعوا مشاركاتهم الى السيرفر الخاص بالموقع بحكم ان لديهم صلاحيات الوصول . وطبعاً هذه الطريقه مستحيلة لانه سوف يصبح بمقدور هولاء العبث بالبيانات الموجود في الموقع او حتى تخريبها ! . وحتى لو فرضنا انهم قلوبهم صافيه ولايضمرون اي شر , فيجب ان يكون لدي هولاء خبرة في كتابة صفحات الـ HTML او استخدام برامج تصميم المواقع مثل الفرونت بيج او الدريم ويفر , وهذا بالطبع حل غير عملي نهائياً ..
    اذاً ما نحتاجه في هذه الحالة حل أخر يكون أكثر عملية , حل يلغي التدخل اليدوي للمستخدمين , سواء كان صاحب الموقع , أو المشاركين فيه , ويجعل العملية تتم بصورة آلية على غرار برامج قواعد البيانات العادية والتي تسمح لنا بإضافة والتعامل مع البيانات بصورة سهلة وسريعة بدون الحاجة إلى فك شفرة البرنامج والتعديل عليها .
    ومن هذا المنطلق , ظهر ما يعرف بصفحات الويب الديناميكية Dynamic Web Page , والتي يتم توليدها بشكل آلي مما يسمح بمرونة كبيرة في تغيير محتوى الصفحات بدون الحاجة إلى التدخل اليدوي .
    ماذا سوف تفيد صفحات الويب الدينامكية في حالة موقعنا السابق ؟ الإجابة سهلة , فالآن كل ما نحتاجه هو وجود قاعدة بيانات موجودة في السيرفر , وطريقه ما تمكنا من التعامل مع قاعدة البيانات هذه , بحيث نتمكن من إضافة مشاركات جديدة إلى قاعدة البيانات بصورة سهله , وأيضا توليد صفحه ويب (صفحه HTML) بشكل إلي بحيث تحتوي هذه الصفحة على المشاركات الجديدة التي موجودة في قاعدة البيانات , وأيضا تمكين الزوار من إضافة مشاركاتهم بصورة سهل من خلال المتصفح فقط .
    وهذه الآلية يمكن الحصول عليها من خلال استخدام لغات برمجة الويب والتي تعتبر لغة PHP واحدة منها .
    والتي تسمى أيضا "سكربت جهة السيرفر Server-Side Script " .
    ملاحظة:
    إذا لم تفهم عزيزي القارئ المغزى من كل ما سبق, فأنصحك أن تقف هنا, و "تصحي النوم", وتذهب وتشرب شاهي "أبو ثلاث خمسات" وتعيد قراءة ما سبق حتى تستوعبه جيداً قبل مواصلة القراءة :) .
    آلية عمل لغات برمجة الويب
    ___________________________________
    Desperado
    PHP الدرس الأول Tf.org-Desperado-free
    Desperado
    Desperado
    مصيافي ماسي
    مصيافي ماسي


    عدد الرسائل : 1157
    مكان الإقامة : مصياف - حمص
    Personalized field : PHP الدرس الأول Female20
    التقييم : 8
    نقاط : 1782
    تاريخ التسجيل : 30/06/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف Desperado 3/7/2009, 7:19 pm

    إن فكرة عمل لغات برمجة الويب هي نفسها لكل اللغات المصممة لذلك سواء كانت لغة PHP أو ASP.net, أو JSP وغيرها .
    من ناحية العميل , لا شئ سوف يتغير , فهو سوف يستخدم نفس الأداة وهي "المتصفح" لكي يقوم بطلب الصفحة , ولكن الاختلاف هنا هو في طريقة استجابة الويب سيرفر للطلب .
    لنفترض انه يوجد صفحة بإسم login.php موجودة على ويب سيرفر بإسم [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] طبعاً نلاحظ إن الصفحة امتدادها هو php مما يعني إنها مبرمجة باستخدام لغة الـ PHP (قد تكون ذات امتداد aspx مما يعيني إنها مبرمجة بواسطة الـ ASP.net ) . والآن لنرى ما سيحدث عندما يقوم المتصفح بطلب الـ URL [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] .
    1- سوف يقوم المتصفح بالاتصال مع السيرفر المسمى [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] ويطلب منه الصفحة login.php .
    2 يستقبل الويب سيرفر الطلب , ويبحث عن الملف المسمى login.php في القرص الصلب الخاص بالسيرفر الذي يعمل فيه .
    3 يقوم الويب سيرفر بقراءة الملف login.php , ويميز إن هذا الملف ليس ملف HTML عادي , بل يحتوي أيضا على شفرة PHP لذلك , فانه يقوم باستدعاء المفسر الخاص بتنفيذ شفرة الـ PHP الموجود في السيرفر .
    4- يقوم مترجم الـ PHP بتنفيذ شفرة الـ PHP والتي قد تكون فيها أوامر تقوم بجلب البيانات من قاعدة البيانات الموجودة في السيرفر نفسه . ولنفترض ان قاعدة البيانات هي MySQL (ممكن تكون قاعدة البيانات Oracle أو SQL Server ) .
    5- تقوم شفرة الـ PHP بطلب بيانات من جدول ما موجود في قاعدة البيانات MySQL .
    6- تقوم قاعدة البيانات MySQL بإعادة البيانات التي طلبها الـ PHP .
    7- بعد أن ينتهي مترجم الـ PHP من تنفيذ برنامج الـ PHP , يعيد ناتج التنفيذ إلى الويب سيرفر .
    8- يقوم الويب سيرفر بإعادة النتيجة بصورة HTML إلى المتصفح الخاص بالعميل (الزبون) .
    9- يقرأ المتصفح شفرة الـ HTML المعادة ويقوم بتحويلها إلى واجهه مرئية للمستخدم .

    مع أن الخطوات تبدأ كثيرة , ولكنها تحدث بشكل آلي في كل طلب لصفحة مكتوبة بلغه برمجة ويب مثل الـ PHP .

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

    PHP الدرس الأول 261687095
    إذا , ما هي الـ PHP ؟
    بعد كل الكلام السابق , نستطيع أن نقول أن PHP عبارة عن لغة تستخدم لتطوير وبناء برامج الويب والتي يمكن من خلال هذه البرامج توليد صفحات ويب ديناميكية ومن ثم إرسال هذه الصفحات إلى المتصفح , ويمكن دمج وتضمين شفرات الـ PHP هذه في صفحات الـ HTML , بحيث أول ما يجد الويب سيرفر هذه الشفرات فإنه يقوم بتنفيذها عنده بمساعده مفسر اللغة ومن ثم يعيد النتيجة إلى المتصفح ليعرض النتيجة على المستخدم .
    لماذا الـ PHP ؟
    هناك عدة أسباب تجعلنا كمبرمجين نستخدم الـ PHP , من هذه الأسباب :
    1- PHP مجانية وحرة المصدر . بمعنى أخر يمكننا استخدام الـ PHP مجاناً وبدون أن نضطر أن ندفع ريال واحد للحصول على مترجم اللغة ولأنها تعمل أيضا على أنظمة اللينكس المجانية , بحيث يمكن أن نبني ويب سيرفر كامل بدون أي تكلفه تذكر. هذا بعكس بعض التقنيات الأخرى والتي تطلب الكثير سواء من ناحية شراء حقوق تشغيل تلك التقنيات, وشراء الأنظمة والبرامج التي تحتاجها. هذا بالنسبة للمجانية , أما بالنسبة لمصطلح "حرة المصدر" , فيعني أن كود اللغة نفسها مفتوح ومتوفر , ويمكن لأي شخص أن يحصل على الكود ويعدل في بناء اللغة نفسها بالشكل الذي يريده لأنها مكتوبة اصلاً بلغه الـسي الشهيرة .
    2- متعددة المنصات Cross-Platform . معنى ذلك أننا يمكن أن نستخدم الـ PHP مع أي ويب سيرفر سواء كان هذا الويب سيرفر يستخدم نظام اللينكس أو اليونكس أو الويندوز أو الماك .ومع انه يعتبر سيرفر الاباتشي Apache من أشهر الويب سيرفر المستخدم مع الـ PHP بسبب التوافق والثبات والسرعة العالية الذي تحققه الـ PHP مع الاباتشي , إلا أننا يمكن أن نستخدم الـ PHP مع ويب سيرفر أخر يدعمها مثل الـ IIS من مايكروسوفت .
    3- السهولة . تعتبر لغة PHP من أسهل لغات البرمجة تعلما، فهي تريحك من جميع تعقيدات إدارة الذاكرة وتعقيدات معالجة النصوص الموجودة في C من جهة، والكثير من الضعف الموجود في بينية وتصميم لغة البرمجة Perl من جهة أخرى.

    تمتلك لغة PHP بنية وقواعد ثابتة وواضحة جدا، معظم قواعد اللغة مأخوذة من كل من C و Java و Perl لصنع لغة برمجة عالية السهولة والسلاسة دون فقدان أي من القوة في اللغة، يفيدك ذلك إذا كنت تعلم أي شيء عن لغات البرمجة الأخرى مثل Visual Basic أو C أو Java حيث ستجد دائما بأنك تفهم مواد الدورة بسرعة، وستكتشف كيف تقوم PHP بتسهيل أصعب الأمور وإذلال العقبات التي تواجه المبرمج حتى يتفرغ تماما للإبداع فقط، كل ما تفكر به تستطيع تنفيذه بلغة PHP.
    4. السرعة . لغة PHP من اللغات المعروفة بسرعتها العالية في تنفيذ البرامج، وخاصة في الإصدارة الرابعة من المترجم، حيث تمت كتابة مترجم PHP من الصفر ليعطي أداء في منتهى الروعة. وتوجد نسخة أخرى منه تركب على مزود Apache أيضا في صورة وحدة خارجية، وتوجد أيضا نسخة مخصصة للدمج مع شفرة سيرفر الاباتشي بحيث تصبح جزءا من سيرفر الاباتشي نفسه، وهي الطريقة الأكثر استخداما الآن في مزودات الويب التي تعمل على أنظمة UNIX وهي الطريقة التي تعطي أفضل أداء لمترجم PHP، حيث يصبح المترجم جزءا من المزود، وبالتالي فإنه سيكون محملا في الذاكرة بانتظار صفحات PHP ليقوم بترجمتها وعرضها للزوار مباشرة دون التأخير الإضافي الذي تتطلبه برامج Perl/CGI مثلا حيث يجب أن يتم تشغيل مترجم Perl مع كل زيارة للصفحة لترجمة الصفحة، ثم يتم إغلاق المترجم، ثم استدعاءه مجددا عند الزيارة الثانية وهكذا، وهذا يشكل فارقا كبيرا في المواقع ذات الضغط العالي بالذات، ويكون استخدام PHP حلا أفضل بكثير.
    5. الامكانيات. يأتي مترجم PHP لوحده محملا بعدد هائل من الدوال الجاهزة الاستخدام في جميع المجالات، من دوال المعالجة الرياضية والحسابية إلى دوال الوصول إلى قواعد البيانات ومزودات FTP، توفر لك دوال PHP مثلا وصولا إلى أنظمة قواعد البيانات مثل MySQL و PostgreSQL وServer SQL و Oracle وغيرها من مزودات قواعد البيانات، وهنالك أيضا دوال أخرى لإرسال واستقبال الملفات عن بعد باستخدام بروتوكول FTP، وهنالك مجموعة من الدوال لمعالجة وإنتاج الصور ديناميكيا ، ناهيك عن جميع الدوال الخاصة بمعالجة النصوص والمصفوفات.


    _________________________
    Desperado
    PHP الدرس الأول Tf.org-Desperado-free
    Desperado
    Desperado
    مصيافي ماسي
    مصيافي ماسي


    عدد الرسائل : 1157
    مكان الإقامة : مصياف - حمص
    Personalized field : PHP الدرس الأول Female20
    التقييم : 8
    نقاط : 1782
    تاريخ التسجيل : 30/06/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف Desperado 3/7/2009, 7:21 pm

    تعريف:
    لغه بيرل Perl هي عبارة عن لغة قديمة ولكنها مازالت موجودة وتستخدم لبناء برامج على الانترنت.
    تاريخ لغه PHP :
    تعود بدايات الـ PHP الى 1995 حيث بدأت كسكربتات تم برمجتها بواسطة شخص يدعى راسموس ليدروف باستخدام لغة Perl ليتمكن ليدروف من معرفة عدد الزوار الذين يزورن موقعه. وبعد أن تلقى ليدروف بعض الاقتراحات بتحويلها إلى مترجم بسيط، قام بعمل ذلك المترجم وطرحه على الإنترنت وسماه PHP أو Personal Home Pages أي الصفحات الشخصية، فقد كان عبارة عن نسخة مصغرة من Perl مع بعض الميزات الإضافية للويب، ثم أضاف إليه دعما لنماذج HTML وسماه PHP2/FI، فقام مجموعة من المبرمجين بالعمل على إعادة بناء مترجم PHP وأضافوا إليه مميزات وتحسينات جديدة وتسهيل عملية توسعته فأصبح لدينا PHP 3، بعد فترة من الزمن قامت شركة Zend للتقنيات بعمل مترجمها الخاص للغة والذي سمي zend أيضا، وقد اتصف هذا المترجم بالسرعة العالية وقدراته المحسنة، وجمع مع مكتبات PHP الأخرى لتكوين نواة المترجم PHP، مترجم PHP الآن مقسم على قسمان: المترجم zend ويتم تطويره على موقع zend والقسم الثاني يسمى PHP وهو عبارة عن المكتبات والدوال الأساسية التي تأتي مع البرنامج، يقوم مترجم zend بقراءة الملفات ومعالجتها والتعامل مع المتغيرات وتنفيذ البرنامج ، أما PHP فتحتوي الآن على مكتبات مكتوبة بلغة C ومتوافقة مع واجهة التطبيقات التي يوفرها مترجم zend، وبالتالي يعمل القسمان معا لتكوين مترجم PHP، وعندما تزور موقع PHP الرسمي الآن وتحصل على مترجم PHP جاهزا أو تحصل على الشفرة البرمجية الخاصة بك، فإنك تحصل على كل من مترجم zend ومكتبات PHP معا.
    تطور PHP تطورا مفاجئا في الفترة الأخيرة، وتشير إحصائيا Net Craft إلى أن مترجم PHP هو أكثر وحدات مزود Apache انتشارات على الإنترنت، كما أن مترجم PHP مركب على حوالي مليوني مزود ويب على الإنترنت. و يجدر بالذكر انه قد تم تغيير اختصار PHP إلى عبارة PHP: Hypertext Preprocessor .

    ما الذي نحتاجه للعمل مع PHP ؟
    طبعاً في ارض الواقع , إذا كان لدينا موقع ويب يستخدم لغة الـ PHP , فإننا 90% سوف نقوم بإستضافه هذا الموقع مقابل رسوم مادية في أي شركة استضافه تدعم الـ PHP وشركات الاستضافة كثيرة جداً سواء عربياً وعالمياً وفيها إمكانيات الدعم الفني والمميزات العالية للسيرفرات الخاصة بهم . ولكن إذا أردنا أن نمتلك سيرفر متكامل ونضع فيه موقعنا المكتوب بالـ PHP , فإننا سوف نحتاج بشكل أساسي إلى التالي :
    1- جهاز سيرفر أو محطة عمل ذات مواصفات معقولة . حتى يستطيع استيعاب الكم الهائل من الزيارات للموقع .
    2- نظام تشغيل . طبعاً , كما ذكرنا سابقاً يمكن تشغيل PHP على العديد من الأنظمة منها أنظمة الويندوز , ولكن الأفضل والأرخص (طبعاً حتى لا نتعب الجيّب !) هو استخدام نظام من أنظمة اليونكس , مثل السولاريز أو اللينكس أو FreeBSD .
    3- تركيب برنامج الويب سيرفر الذي سوف يقوم بالاستماع واستقبال الطلبات عبر الانترنت , وهنا بالطبع سوف نستخدم سيرفر الاباتشي . حالياً اغلب توزيعات اللينكس تأتي مع الاباتشي .
    4- مترجم لغة PHP , وذلك حتى يقوم بترجمة شفرات الـ PHP الموجودة في الصفحات التي يطلبها الزائر وذلك قبل إرجاعها . فعندما يجد الاباتشي استدعاء لكود PHP فإنه يمرره إلى مترجم PHP حتى ينفذ الكود ويرجع له النتيجة والذي يقوم الاباتشي بدورة بإرجاع هذه النتيجة إلى متصفح الزائر .
    5- وأخيرا سوف نحتاج إلى نظام قواعد بيانات وذلك للاستفادة القصوى من الـPHP فا الـ PHP نفسها ليست قاعدة بيانات بل سوف نحتاج إلى قاعدة بيانات لتخزين المعلومات فيها , وأشهر قاعدة بيانات مستخدمة مع الـ PHP هي MySQL وذلك لعدة أسباب أهمها أن PHP وMySQL تم تطويرهما مع اعتبار احدهما الأخر مما يعني إنهما يعملان مع بعضهما بشكل متجانس . وأيضا كلاما مفتوحان المصدر , وأيضا يقدمان أداء عالي مع بضعهما البعض .
    ومن الممكن استخدام أنظمة قواعد بيانات أخرى مثل Oracle وSQL Server لكن هنا سوف نضطر إلى دفع تكاليف رخصة استخدامها الباهضه (ما أحلى "البلاش" , أليس كذلك ! ).
    وبما إننا في صدد تعلم اللغة , فمن غير المعقول أن نقوم ببناء سيرفر حقيقي , بل عوضاً عن ذلك سوف نستخدم جهازنا الشخصي وسنقوم بتركيب البرمجيات الضرورية لتحويله إلى ويب سيرفر "محلي" حتى نستطيع تجربة وتطوير مواقعنا بلغه الـ PHP
    ما الذي سوف نحتاجه لبناء ويب سيرفر محلي ؟
    سوف نحتاج تقريباً إلى نفس المكونات المطلوبة لبناء سيرفر فعّلي ولكن بصوره ابسط . كما يلي :
    1- بدل جهاز السيرفر , سوف نستخدم الجهاز الشخصي العادي PC .
    2- طبعاً ممكن أن نقوم باستخدام نظام لينكس كنظام تشغيل ويمكننا استخدام أي توزيعه نراها مناسبة وكمثال , توزيعه أربيان Arabin او Ubuntu .ولكن بما إننا كـ "عرب" لسنا متعودين سوى على الويندوز , لذلك سوف نستخدم الويندوز نسخه XP أو 2000 , ولكن نضع في بالنا اعتبار أن أفضل أداء للـ PHP هو مع أنظمة اليونكس واللينكس

    3- برنامج الويب سيرفر وسيكون سيرفر الاباتشي Apache ولكن سوف تكون النسخة الخاصة بالويندوز . ويمكن تحمليها من قسم التحميل من موقع الاباتشي وهو [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] , وسوف نحتاج إلى الـ apache 2.0.xxx
    4- مترجم لغة الـ PHP , ويمكن تحميله من موقع التحميل الرسمي للـ PHPوهو [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] وهنا سوف نستخدم الاصدارات 5.2.xxx وهي إلى لحظة كتابة هذا الموضوع تعتبر أخر نسخ من الـ PHP ويجب تحميل النسخة المضغوطة ZIP من المترجم وليس ملف تنصيب exe
    5- وأخيرا سوف نحتاج إلى قاعدة البيانات MySQL وسوف نستخدم 5.0 mysql-essential الخاصة بالويندوز, ويمكن تحميل ملفها التنصيبي من موقع MySQL الرسمي وهو [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]
    هذا ويجدر الإشارة إلى انه كان يمكننا الاستغناء عن الخطوات 2 إلى 5 بخطوة واحدة سهله وهي استخدام الحزم الجاهزة والتي هي عبارة عن ملف تنصيب واحد فقط , يقوم بتنصيب وإعداد كل البرامج الضرورية لتشغيل الـ PHP على جهازنا الشخصي , وكمثال على هذه البرامج هو برنامج EasyPHP والذي يمكن الحصول عليه من الموقع [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] . وايضاً هناك برنامج XAMPP والذي يتميز بوجود نسخ لانظمة اخرى غير الويندوز مثل اللينكس والماك ويمكن الحصول عليه من الموقع [ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط] . ولكن هنا سوف نستخدم الطريق الأصعب وهو تركيب كل برنامج على حده , ومن ثم نربط بين الاباتشي و PHP من جهة , وبين PHP و MySQL من جهة أخرى حتى نفهم كيف تتم العملية .
    خطوات تركيب الاباتشي ومترجم PHP و قاعدة البيانات MySQL :
    بعد أن نحصل على الملفات الضرورية , نقوم بتركيب الاباتشي و من ثم مترجم الـ PHP واخيراً قاعدة البيانات MySQL ومن ثم نقوم بربط وإعداد الاباتشي لكي يتعرف على اكواد الـ PHP ويمررها إلى مترجم الـ PHP , وأيضا , إعداد مترجم الـ PHP للتعامل مع MySQL . وهذه الخطوات موضحه في الفقرة التالية .


    ________________________
    Desperado
    PHP الدرس الأول Tf.org-Desperado-free
    Desperado
    Desperado
    مصيافي ماسي
    مصيافي ماسي


    عدد الرسائل : 1157
    مكان الإقامة : مصياف - حمص
    Personalized field : PHP الدرس الأول Female20
    التقييم : 8
    نقاط : 1782
    تاريخ التسجيل : 30/06/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف Desperado 3/7/2009, 7:23 pm

    أولا : إعداد مجلد العمل :
    من الأفضل أن نقوم بإنشاء مجلد مستقل حتى نستطيع تركيب البرامج فيه , بدل من المجلد Program Files وذلك حتى يسهل علينا الإدارة .
    لذلك سنقوم بإنشاء مجلد في القرص C: مثلاً (أو أي قرص أخر من اختيارك) ونسميه WebServer مثلاً (أو أي اسم معبر وليس" لخطبة" مثل jkhlhjlgh كما يفعل البعض !) .
    ثانياً : تركيب سيرفر الاباتشي Apache Web Server :
    في هذه الخطوة سنقوم بتركيب الاباتشي وذلك بتشغيل برنامج التنصيب المسمى apache_2.0.xx-win32-x86-no_ssl.msi سوف تظهر لنا نافذة , نختار "التالي" , لتظهر لنا النافذة التالية :
    PHP الدرس الأول 180059486
    نكتب في الخانة الأولى والثانية كلمة localhost وذلك معناه إننا سوف نقوم بتشغيل الويب سيرفر الاباتشي محلياً على جهازنا الخاص . وفي الخانة الثالثة نكتب البريد الالكتروني الخاص بنا أو ممكن أن نتركه فارغ . ندوس بعدها على "التالي" .سوف تظهر لنا النافذة التالية :
    PHP الدرس الأول 233402354
    نختار منها الاختيار Custom "مخصص" وذلك حتى نتمكن من تغيير مكان تركيب الاباتشي إلى المجلد الذي انشأناه في الخطوة الأولى .
    بعده الضغط على "التالي" سوف تظهر لنا نافذة "التخصيص" نقوم بإختيار Change.. حيث سيظهر نافذة الاستعراض ونذهب إلى المجلد المسمى WebServer , كما في النافذة التالية :
    PHP الدرس الأول 592209202
    بعدها نختار "التالي" لتظهر لنا نافذة أخرى نختار منها Finish , لتبدأ بعدها عملية التنصيب . بعد إكمال التنصيب , سوف نجد مجلد بإسم Apache2 والذي يحوي برنامج الويب سيرفر الاباتشي.
    سوف نلاحظ بعد التركيب ظهور رمز جديد صحن النظام"بجانب الساعة" , والذي يمثل لوحة التحكم الخاصة بسيرفر الاباتشي حيث يمكننا تشغيل وإيقاف الويب سيرفر من خلاله .
    ملاحظة:
    هناك ملاحظة لمستخدمين ويندوز XP وهي انه في أول تشغيل لسيرفر الاباتشي سوف تظهر رسالة أمنية من الجدار الأمني التعبان من مايكروسوفت يفيد بإن الاباتشي قد فتح منفذ للاتصال المحلي ويسأل هل نسمح له بالعمل امن لا , فنختار سماح ""Unlock من الرسالة .
    وألان لنجرب ما إذا كان قد تم تركيب وتشغيل الاباتشي بنجاح من خلال تشغيل المتصفح وعن نفسي , أنا من مستخدمي متصفح الفايرفوكس لأنه بإختصار "مجاني و أفضل" من "البتاع- على حد قول احد إخواننا المصريين" الذي اسمه Internet Explorer من مايكروسوفت . بعد تشغيل المتصفح نقوم بكتابة العنوان التالي في شريط العنوان : localhost , فإذا كان التركيب قد تم بنجاح سوف تظهر لك صفحة تبدو كالتالي :
    PHP الدرس الأول 520856491
    ثالثاً : تركيب الـ PHP :
    والآن نأتي إلى مرحلة تركيب مترجم لغة الـ PHP على الويب سيرفر المحلي الخاص بنا , وعملية التركيب هنا سهله جداً , فما علينا سواء إنشاء مجلد جديد بإسم php في مجلدنا المسمى WebServer ومن ثم نقوم بفك ضغط محتويات الملف المضغوط الذي يشبه اسمه شئ كـ php-5.1.6-Win32.zip إلى المجلد php . وبهذا انهينا تركيب مترجم الـ PHP ! .
    رابعاً : تركيب نظام قاعدة البيانات MySQL :
    والآن نأتي لمرحلة تركيب نظام قواعد البيانات الذي سوف نستخدمه في سيرفرنا المحلي وهي قاعدة بيانات MySQL وطبعاً من الافضل اسوة ببقية البرامج ان نقوم بتركيب الـ MySQL في مجلد WebServer وذلك بإن ننشئ في مجلد WebServer مجلد جديد بإسم MySQL .
    وبعدها نقوم ببدء التركيب قاعدة البيانات MySQL وذلك من خلال تشغيل ملف التنصيب الخاص بالـ MySQL في نظام الويندوز واسمه شي يشبه mysql-essential-5.0.xx-win32.msi , حيث نختار "التالي Next" من أول نافذة , ومن ثاني نافذة نختار "مخصصCustom " ومن ثم نضغط على "التالي Next" ومن النافذه التالية نقوم بتحديد مكان التركيب وهو مجلد MySQL والذي انشأناه بداخل مجلد WebServer , والشكل التالي يوضح هذا :
    PHP الدرس الأول 988934527
    وبعد ذلك , نختار "التالي Next" وبعدها نختار "تركيب Install" لتبدأ عملية التركيب. بعد الانتهاء من التركيب ستظهر نافذة تطلب منا إنشاء حساب على موقع MySQL.com لذلك سنتجاوز ونختار "Skip Sign-Up" ونضغط بعدها على التالي .
    وبعده سوف يظهر معالج إعداد MySQL . أول نافذة سوف تظهر , نختار منها الاختيار الثاني وهو Stander ومن ثم نضغط "Next" ,وسوف تظهر بعدها نافذة أخرى نؤشر فيها على كل الاختيارات الموجودة فيها كالتالي :
    PHP الدرس الأول 134055019
    وبعد أن نختار "التالي Next" من النافذة السابقة سوف تظهر لنا نافذة خاصة بتحديد كلمة السر الخاصة بالـ root "مدير" نظلم قاعدة البيانات والذي يحق له أن يتحكم في النظام برمته , وفي حالتنا هذه الأفضل أن نجعلها فارغة وذلك بإلغاء الاختيار من Modify …, كالتالي :
    PHP الدرس الأول 836386200
    وبعدها سوف تظهر نافذة الإنهاء, نضغط فيها على "Execute" لينتهي معالج الإعداد .وبهذه الخطوات نكون قد انهينا تركيب البرامج الضرورية لتشغيل برامج الـ PHP وسيتبقى معنا إعداد الاباتشي ليعمل مع مترجم الـ PHP وإعداد الـ PHP ليعمل مع MySQL .

    ______________________________
    Desperado
    PHP الدرس الأول Tf.org-Desperado-free
    Desperado
    Desperado
    مصيافي ماسي
    مصيافي ماسي


    عدد الرسائل : 1157
    مكان الإقامة : مصياف - حمص
    Personalized field : PHP الدرس الأول Female20
    التقييم : 8
    نقاط : 1782
    تاريخ التسجيل : 30/06/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف Desperado 3/7/2009, 7:25 pm

    - إعداد سيرفر الاباتشي :
    بعد تركيب الاباتشي ومترجم الـ PHP نحتاج لنقوم بإعداد سيرفر الاباتشي حتى يمكنه العمل مع مترجم الـ PHP في حال وجود إستدعاء لكود PHP حتى يقوم الاباتشي بتمرير هذا الكود إلى مترجم الـ PHP ليقوم بتنفيذه .
    الإعداد يكون من خلال التعديل في ملف يسمى httpd.conf وهو موجود في المجلد conf الذي يوجد في مسار وجود سيرفر الاباتشي والذي سيكون في حالتنا هذه هو : C:\WebServer\Apache2\conf\httpd.conf . نقوم بفتح هذا الملف عن طريق برنامج المفكرة مثلاً , ونقوم بعمل التالي :
    1- نبحث في الملف عن قسم الـ LoadModule وفي بدايته نضيف السطر التالي :
    LoadModule php5_module "C:/WebServer/PHP/php5apache2.dll"
    نلاحظ هنا ان رمز "السلاش" في هذا الملف يجب أن تكون معكوسة .
    2- ايضاً , نبحث في الملف عن قسم الـ AddType وفي بدايته نضيف السطر التالي :
    AddType application/x-httpd-php .php
    3- اخيراً , في نهاية الملف نضيف السطر التالي :
    PHPIniDir " C:/WebServer/PHP/"
    بعد الانتهاء من الإضافات , نقوم بحفظ الملف httpd.conf .
    -إعداد مترجم الـ PHP :
    والآن بقي لدينا إعداد مترجم الـ PHP ليعمل مع الـ MySQL وأيضا عمل إعدادات روتينية أخرى. والإعداد يتم بطريقة مشابه لطريقة الإعداد في الاباتشي وذلك من خلال ملف ولكن الملف هذه المرة اسمه php.ini وهو يجب ان يكون موجود في مجلد الـ php الموجود بدوره في مجلد WebServer .
    عندما نذهب لذلك المجلد سوف لن نجد أي ملف بإسم php.ini , بل سوف نجد ملف أخر اسمه php.ini-recommended فنقوم بإعادة تسمية هذا الملف إلى php.ini
    من خلال المفكرة , نقوم بفتح هذا الملف ونعمل التغيرات الآتية:
    1- doc_root = C:\WebServer\Apache2\htdocs
    (نلاحظ انه هنا رمز "السلاش" بشكله الطبيعي وليس معكوس كما في ملف httpd.conf )
    2- extension_dir = C:\WebServer\PHP\ext
    3- display_errors = On
    (حتى يتم إظهار الأخطاء في المتصفح في حال حدوثها )
    4- نقوم بمسح رمز ;" " من بداية بعض العناصر في قسم Windows Extensions وهذه العناصر هي :
    extension=php_gd2.dll
    extension=php_mbstring.dll
    extension=php_mysql.dll
    extension=php_xsl.dll
    وأخيرا , نضيف السطر extension=php_mysqli.dll إلى المجموعة السابقة .
    طبعاً ملفات الـDLL السابقة هي عبارة عن إضافات أساسية لـ PHP
    5- نقوم بحفظ وإغلاق الملف php.ini , ومن ثم سوف تتبقي أخر خطوة في إعداد مترجم الـ PHP وهي إضافه مسار مجلد الـ PHP إلى متغير البيئة path حتى يتعرف عليه النظام , وذلك من خلال الذهاب إلى خصائص جهاز الكمبيوتر , ومن ثم تظهر لنا نافذة نختار قسم Advance "متقدم" , بعدها نقوم بعده خطوات موضحه في الأشكال التالية :
    PHP الدرس الأول 812965753
    وبعد الانتهاء , نقوم بإعادة تشغيل الحاسوب .
    والآن بعد كل هذه "القصة" يجب علينا التأكد من نجاح العملية من خلال خطوة سهله وهي , أن نفتح برنامج المفكرة ونكتب فيه السطر التالي :
    <?php phpinfo(); ?>
    ثم نحفظ الملف بإسم testphp.php مثلاً وذلك في المسار C:\WebServer\Apache2\htdocs , ومن ثم نقوم بتشغيل المتصفح وكتابة العنوان localhost\testphp.php , ونضغط Enter , يجب ان تظهر لنا صفحه شبيهه بالشكل التالي :
    PHP الدرس الأول 573558289
    وإذا بحثنا في هذه الصفحة يجب أن نجد قسم بإسم mysql دلاله على نجاح مترجم الـ PHP في التعرف على الـ MySQL .

    يتبع في الدرس الثاني.......


    ________________________
    Desperado


    PHP الدرس الأول Tf.org-Desperado-free
    God Hyena
    God Hyena
    عضـــو موقوف


    عدد الرسائل : 964
    مكان الإقامة : In The Other Hell
    Personalized field : PHP الدرس الأول Male_s18
    التقييم : 3
    نقاط : 1203
    تاريخ التسجيل : 07/04/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف God Hyena 3/7/2009, 7:31 pm

    اي شو هادا يا خيي
    اي ها فجرلي هالمواهب
    تقيييييييييييييييييل
    الله يعطيك العافية عالشرح التقل
    بانتظار باقي الدروس
    PHP الدرس الأول 454808 PHP الدرس الأول 454808 PHP الدرس الأول 197544 PHP الدرس الأول 454808 PHP الدرس الأول 454808
    لارا
    لارا
    مصيافي فضي
    مصيافي فضي


    عدد الرسائل : 394
    مكان الإقامة : مصياف
    Personalized field : PHP الدرس الأول Male_s18
    التقييم : 3
    نقاط : 368
    تاريخ التسجيل : 26/12/2008

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف لارا 3/7/2009, 8:15 pm

    ******************************************* يعطيك العافية


    تم تعديل الرد من قبل الادارة لمخالفته لاصول الرد بالمنتديات ..
    ADMIN
    ADMIN
    مدير المنتدى
    مدير المنتدى


    عدد الرسائل : 2463
    مكان الإقامة : في هذا العالم ..
    Personalized field : PHP الدرس الأول Male_s18
    التقييم : 24
    نقاط : 3626
    تاريخ التسجيل : 05/10/2008

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف ADMIN 3/7/2009, 9:28 pm

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

    تحياتي لك .. PHP الدرس الأول 454808
    kahtanwatfa
    kahtanwatfa
    تقني الصيانة
    تقني الصيانة


    عدد الرسائل : 190
    مكان الإقامة : massyaf
    Personalized field : PHP الدرس الأول Female34
    التقييم : 1
    نقاط : 254
    تاريخ التسجيل : 07/04/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف kahtanwatfa 4/7/2009, 8:15 am

    الله يعطيك العافية
    مشكور
    Desperado
    Desperado
    مصيافي ماسي
    مصيافي ماسي


    عدد الرسائل : 1157
    مكان الإقامة : مصياف - حمص
    Personalized field : PHP الدرس الأول Female20
    التقييم : 8
    نقاط : 1782
    تاريخ التسجيل : 30/06/2009

    PHP الدرس الأول Empty رد: PHP الدرس الأول

    مُساهمة من طرف Desperado 5/7/2009, 12:57 pm

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





    لارا كتب:******************************************* يعطيك العافية


    تم تعديل الرد من قبل الادارة لمخالفته لاصول الرد بالمنتديات ..


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

      الوقت/التاريخ الآن هو 7/7/2024, 9:53 am