[Powered by Google Translate] [PHP الشبكة العالمية للتنمية] [تومي MacWilliam] [هذا CS50.] [CS50.TV] في هذا الفيديو، ونحن سوف تتعلم حول استخدام PHP لتطوير الشبكة. PHP هي لغة البرمجة التي يمكن استخدامها لتنفيذ المواقع على خادم الويب. خادم الويب هو في الأساس جهاز مخصص لتقديم محتوى التي يمكن الوصول إليها عبر الإنترنت. عند الانتقال إلى صفحة على شبكة الإنترنت مثل Facebook.com / home.php التعليمات البرمجية في ملف يسمى home.php الذي يعيش على خادم الويب الفيسبوك في مكان ما سوف يتم تنفيذها على ذلك الملقم. وهذا الرمز المرجح توليد بعض الانتاج الذي سيقوم بدوره أن ترسل من خادم لمتصفح الويب الخاص بك. سنكون باستخدام الأجهزة CS50 كخادم ويب. جهازك ربما لن يكون ما يقرب قوية مثل آلات في مركز البيانات الفيسبوك، ولكن سيكون لديك أي مشكلة في استخدامه لتطوير الشبكة. عندما كنا انتقال إلى URL مثل http://localhost/hello.php نحن تكوين الجهاز عبر تطبيق يسمى خادم أباتشي HTTP للبحث عن ملف يسمى hello.php داخل الوطن / jharvard / vhosts / localhosts / أتش تي أم أل افتراضيا. في حالة وجود هذا الملف ثم سوف اباتشي استخدام مترجم PHP تنفيذ التعليمات البرمجية PHP في hello.php. حالة عدم وجود هذا الملف ثم اباتشي سوف يرمي خطأ لم يتم العثور على أو خطأ 404، والتي ربما كنت قد رأيت أثناء تصفح الويب. دعونا نلقي نظرة على hello.php. يمكننا أن نرى هنا أن hello.php يولد خط إشارة الإخراج. عندما هربنا hello.php في سطر الأوامر عبر فب hello.php وقد طبع هذا الإخراج إلى المحطة. الآن، عندما كنا الوصول إلى هذا الملف عبر URL في متصفح الويب سيتم إرسال انتاجها لمتصفح الويب، لذلك يتوجه إلى URL، http://localhost/hello.php، يمكننا أن نرى الإخراج في متصفح الويب لدينا. دعونا نحاول مضيفا printf آخر لبرنامجنا مرحبا العالم. حسنا، دعونا التوجه إلى متصفح الإنترنت ونرى ما لدينا. مثيرة للاهتمام. بدلا من طباعة خط آخر على السطر الخاص به، وكنت قد رأيت في المحطة، يبدو أنها حصلت على سمشيد على نفس الخط كما printf أخرى، وربما لذلك خطوط جديدة لا تعمل في PHP. ليس تماما. تذكر أن HTML وعادة ما تستخدم لإنشاء صفحات الويب التي يمكن عرضها بواسطة متصفحات الويب. هو ليس فقط سلسلة من مرحبا PHP HTML غير صالحة، ولكن أذكر أننا لا نستطيع استخدام الحرف \ ن في HTML لإنشاء خط فاصل. بدلا من مجرد إخراج دعونا السلسلة إخراج HTML صالحة. قبل به كل فقرة من المكالمات printf لدينا سيتم عرضه على السطر الخاص به، حتى الآن عندما نزور مشيرا إلى URL valid.php http://localhost/valid.php نرى الإخراج الذي نبحث عنه. الآن، إذا كنا عرض مصدر هذه الصفحة يمكننا أن نرى أن نبحث الآن في صالح HTML، الذي خلقنا من PHP. وضع كل من HTML داخل المكالمات printf وبالطبع سوف تحصل على مزعج حقا. لحسن الحظ يمكننا خلط بسهولة HTML و PHP في نفس ملف بي. تذكر، يجب وضع كل رمز PHP لدينا في غضون <؟ فب و؟>. أي شيء غير المغلقة ضمن هذه المحددات ببساطة سوف يتم إرسالها كما الإخراج إلى مستعرض بدلا من إعدامهم. هذا يعني أننا يمكن أن تفعل شيئا من هذا القبيل. يمكننا ببساطة كتابة HTML داخل لدينا ملف PHP ثم إدراج كتل PHP أينما كنا نرغب بعض رمز PHP ليتم تنفيذها. نحن هنا تحديد بعض المتغيرات في الجزء العلوي من ملف، ونحن في وقت لاحق طباعتها داخل لدينا HTML. الآن إذا كنا في زيارة هذا الموقع، http://localhost/mixed.php يمكننا أن نرى لدينا PHP تقييمها داخل لدينا HTML. الآن دعونا نلقي نظرة على كيف يمكننا تمرير البيانات بين صفحات PHP لدينا مختلف. بدلا من القول <فب الطباعة (دولار)؛؟> نستطيع أن نقول ببساطة <؟ = المتغير نحن نرغب في طباعتها، أو لذلك، و؟>. دعونا الآن نلقي نظرة على كيف يمكننا تمرير البيانات بين صفحات PHP لدينا مختلف. طريقة واحدة يمكننا أن نفعل ذلك هو لترميز المعلومات في عنوان الصفحة. عند تصفح الإنترنت، وكنت قد لاحظت أن بعض عناوين URL تحتوي على؟ تليها سلسلة تحتوي اقحام وعلامات متساوية. هذا الجزء من URL كما هو معروف في سلسلة الاستعلام، وهذا يسمح لك لتمرير الحجج على نحو فعال لPHP النصي الخاص بك. تتكون سلسلة الاستعلام من أزواج قيمة المفتاح، تماما مثل جدول تجزئة. علامة المساواة يفصل مفتاح والقيمة المقابلة لها بينما اقحام فصل أزواج. A URL التي تبدو وكأنها http://localhost/get.php؟foo=bar&baz=qux لديه 2 أزواج قيمة المفتاح في سلسلة الاستعلام. فو مفتاح خرائط للشريط القيمة، والباز مفتاح خرائط لqux القيمة. يمكننا بسهولة الوصول إلى هذه أزواج قيمة المفتاح باستخدام متغير خاص في PHP، $ _GET. $ _GET هو مجموعة النقابي التي يتم تلقائيا نشر مع بيانات سلسلة الاستعلام. وهذا يعني أن تعطى هذه URL $ _GET ["فو"] وسوف يكون مساويا لشريط السلسلة. دعونا نلقي نظرة على get.php لرؤية _GET دولار في العمل. نحن هنا كنت تستخدم دالة يسمى var_dump، والتي عندما تعطى صفيف أو متغير آخر سوف طباعته بالنسبة لنا. الآن إذا أردنا الوصول ببساطة http://localhost/get.php ثم سنرى مجموعة فارغة لأننا لم تقدم سلسلة الاستعلام. إذا كنا لا توفر سلسلة الاستعلام عبر http://localhost/get.php؟foo=bar&baz=qux ثم يمكننا أن نرى أن المتغير $ _GET سيحتوي أزواج قيمة المفتاح سلسلة الاستعلام. ولكن ماذا إذا كنا لا نريد أن نضع البيانات المتوفرة لدينا داخل URL صفحة؟ لكميات كبيرة من البيانات، وهذا يمكن أن يؤدي في بعض عناوين قبيحة جدا التي تجري لجعل لدينا نظرة لامعة موقع عرجاء. يمكننا بدلا من ذلك وضعت سلسلة الاستعلام في الجسم من طلبات HTTP بدلا من URL الخاص الطلب. ثم يمكننا استخدام PHP في $ _POST متغير للوصول إلى أزواج قيمة المفتاح. طريقة واحدة للقيام بذلك هو عن طريق نموذج HTML. هنا لدينا نموذج HTML بسيطة. لاحظ هنا أن السمة طريقة هذا النموذج هو آخر. هذا يخبر المتصفح لوضع أزواج قيمة المفتاح للنموذج في نص الطلب بدلا من URL. إذا كان لنا أن استخدام القيمة الحصول على هذه السمة ثم أن أزواج قيمة المفتاح للنموذج بدلا الخوض في سلسلة الاستعلام، حتى نتمكن من الوصول إليها عبر $ _GET مرة أخرى. السمة عمل شكل تخبر المتصفح حيث لإرسال البيانات. هنا لدينا 2 عناصر المدخلات لها سمات الاسم. فإن قيمة سمات الاسم بمثابة مفاتيح في البيانات المتوفرة لدينا، وقيم المدخلات النص سوف تصبح قيم تلك المفاتيح. الآن دعونا نلقي نظرة على التدوينة، الملف الذي يتم تقديم هذا النموذج. مثلما فعلنا من قبل، نحن ببساطة عرض محتويات المتغير $ _POST. دعونا انتقل إلى النموذج مع http://localhost/form.php. الآن عندما نقوم بإرسال النموذج يمكننا أن نرى أن البيانات من form.php يتم تمريرها إلى التدوينة دون إلحاق سلسلة الاستعلام إلى URL. الآن رأيناه 2 طرق مختلفة لتمرير البيانات بين صفحات PHP، الحصول على وظيفة. في الأمثلة لدينا، كنا 2 أنواع مختلفة من طلبات HTTP. كما قد تتوقع، وكان يستخدم لطلب الحصول عندما كنا بالسكان تم استخدام $ _GET من URL، وطلب آخر عندما كنا بالسكان $ _POST. في تصميم تطبيقات الويب الخاص بك انها قاعدة جيدة من الإبهام لاستخدام طلبات الحصول على عند التطبيق الخاص بك وسوف قراءة البيانات فقط، وطلبات الوظائف عند التطبيق الخاص بك سوف يكتب البيانات. على سبيل المثال، سوف استعلام البحث قراءة البيانات من التطبيق الخاص بك، لذلك طلب الحصول المنطقي. من ناحية أخرى، فإن التطبيق الخاص بك إرسال البيانات عبر ما يشبه استمارة التسجيل، لذلك طلب آخر من شأنه أن يكون أكثر منطقية، وهذا هو لمحة عامة عن بعض التقنيات ونحن سوف تستخدم في CS50 لإنشاء مواقع الويب باستخدام PHP. اسمي تومي، وهذا هو CS50. [CS50.TV]