[Powered by Google Translate] [PHP פיתוח אינטרנט]
[טומי MacWilliam]
[זה CS50.] [CS50.TV]
>> , אנחנו תלמדו בסרטון הזה על שימוש PHP לפיתוח אינטרנט.
PHP היא שפת סקריפטים שניתן להשתמש בם כדי ליישם
אתרים על שרת אינטרנט.
שרת אינטרנט הוא למעשה מכונה המחויבת לספק תוכן
שניתן לגשת באמצעות האינטרנט.
כאשר אתה מנווט לדף אינטרנט כמו Facebook.com / home.php
הקוד בhome.php הקובץ בשם שחי על שרת אינטרנט של פייסבוק במקום כלשהו
יבוצע בשרת זה.
קוד זה צפוי לייצר כמה פלט
אשר בתורו תישלח מהשרת
לדפדפן האינטרנט שלך.
אנחנו נהיה שימוש במכשיר CS50 כשרת אינטרנט.
המחשב שלך כנראה לא יהיה חזק כמעט כמו המכונות
במרכז הנתונים של פייסבוק, אבל לא יהיה לך בעיה להשתמש בו לפיתוח אינטרנט.
>> כאשר אנו מנווטים לכתובת אתר כמו http://localhost/hello.php
אנחנו להגדיר את המכשיר באמצעות יישום בשם שרת Apache HTTP
כדי לחפש קובץ שנקרא hello.php בתוך הבית / jharvard / vhosts / localhosts / html כברירת מחדל.
אם קובץ שקיים אז האפצ'י ישתמש מתורגמן PHP
כדי להפעיל את קוד PHP בhello.php.
אם קובץ שאינו קיים ולאחר מכן אפצ'י יזרוק שגיאה לא נמצאה
או שגיאה 404, שאתה כנראה לא ראית בעת הגלישה באינטרנט.
>> בואו נסתכל על hello.php.
אנחנו יכולים לראות כאן שhello.php יוצר קו איתות מתפוקה.
כשרצנו hello.php בשורת הפקודה באמצעות hello.php php
הפלט שהודפס למסוף.
עכשיו, כשאנחנו לגשת לקובץ זה באמצעות כתובת אתר בדפדפן האינטרנט
הפלט שלה יישלח לדפדפן האינטרנט,
כך כותרת לכתובת האתר, http://localhost/hello.php,
אנחנו יכולים לראות את הפלט בדפדפן האינטרנט שלנו.
>> בואו לנסות להוסיף printf אחר לתכנית שלום העולם שלנו.
אוקיי, בואו לחזור לדפדפן האינטרנט ולראות מה יש לנו.
מעניין.
במקום להדפיס עוד שורה בשורה הנפרדת, כפי שהיית שראית
בטרמינל, זה נראה כאילו היא מחצה לו על אותו הקו
כמו printf האחר, קווים אולי כל כך חדשים לא עובדים ב-PHP.
לא ממש.
זכור ש-HTML משמש בדרך כלל כדי ליצור דפי אינטרנט
שניתן להציג על ידי דפדפני אינטרנט.
לא רק היא המחרוזת שלום מ-HTML לא חוקי PHP,
אבל זוכר שאנחנו לא יכולים להשתמש בתו \ n ב-HTML
כדי ליצור מעבר שורה.
במקום פשוט פלט HTML תקף הפלט של מחרוזת בואו.
על ידי שימוש בתגי פסקה כל אחת משיחותינו printf
יוצג בשורה הנפרדת,
אז עכשיו כשאנחנו מבקרים ההצבעה כתובת האתר לvalid.php
http://localhost/valid.php
אנו רואים את התפוקה שאנחנו מחפשים.
>> עכשיו, אם אנו רואים את המקור של הדף,
אנו יכולים לראות שאנחנו עכשיו מסתכלים HTML תקף,
שיצרנו מ-PHP.
לשים את כל HTML שלנו בתוך שיחות printf
הוא כמובן הולך לקבל ממש מעצבן.
למזלנו אנחנו יכולים בקלות לערבב HTML ו-PHP
באותו הקובץ php..
זכור, כל קוד PHP שלנו חייב להיות סגור בתוך <? Php
ו?>.
כל דבר שאינו סגור בתוך מפרידים אלה
פשוט יישלח כפלט לדפדפן
במקום להיות מוצאים להורג.
זה אומר שאנחנו יכולים לעשות משהו כזה.
אנחנו פשוט יכולים לכתוב HTML בתוך. קובץ PHP שלנו
ולאחר מכן להוסיף בלוקים PHP בכל מקום שהיינו רוצה קצת קוד PHP כדי להיות מוצא להורג.
כאן אנחנו מגדירים כמה משתנים בחלק העליון של הקובץ,
ולאחר מכן אנו להדפיס אותם בתוך ה-HTML שלנו.
עכשיו, אם אנחנו מבקרים את כתובת אתר, http://localhost/mixed.php
אנו יכולים לראות PHP הערכתנו בתוך ה-HTML שלנו.
>> עכשיו בואו נסתכל על איך אנחנו יכולים להעביר נתונים
בין דפי PHP השונים שלנו.
במקום לומר <הדפסת PHP ($);??>
אנחנו פשוט יכולים להגיד <? = משתנים שאנחנו רוצים להדפיס, או,
ו?>.
עכשיו בואו נסתכל על איך אנחנו יכולים להעביר נתונים
בין דפי PHP השונים שלנו.
אחת דרכים שאנו יכולים לעשות את זה היא כדי לקודד מידע לתוך כתובת האתר של דף.
בעת הגלישה באינטרנט, אתה אולי שמת לב שכמה כתובות אתרים
מכיל? ואחריו מחרוזת המכילה תווי אמפרסנד וסימנים שווים.
חלק זה של ה-URL המכונה מחרוזת השאילתה,
וזה מאפשר לך לעבור ביעילות טיעונים לסקריפט PHP שלך.
מחרוזת השאילתה מורכבת מזוגות ערך מפתח, בדיוק כמו שולחן חשיש.
סימן שוויון מפריד מפתח וערך המקביל שלה
בעוד סימן חיבור להפריד זוגות.
כתובת אתר שנראה http://localhost/get.php?foo=bar&baz=qux
יש לו 2 זוגות ערך מפתח במחרוזת השאילתה.
Foo מפתח מפות לבר הערך,
ואז מפתח מפות לqux הערך.
אנחנו יכולים לגשת בקלות לזוגות ערך מפתח אלה באמצעות משתנים מיוחדים ב-PHP,
_GET $.
_GET $ הוא מערך אסוציאטיבי
כי הוא מאוכלס באופן אוטומטי עם נתוני מחרוזת שאילתה.
זה אומר שנתן _GET זה URL $ ["foo"]
יהיה שווה לבר המחרוזת.
>> בואו נסתכל על get.php לראות _GET $ בפעולה.
כאן אנו משתמשים בפונקציה שנקראת var_dump,
שכאשר ניתנים מערך או משתנים אחרים
יהיה להדפיס את זה עבורנו.
עכשיו, אם אנחנו פשוט לגשת http://localhost/get.php
אז נראה מערך ריק, כי אנחנו לא סיפקנו מחרוזת שאילתה.
אם אנחנו עושים לספק מחרוזת שאילתה באמצעות http://localhost/get.php?foo=bar&baz=qux
אז אנחנו יכולים לראות שמשתנים _GET $ יכילו
זוגות ערך המפתח של מחרוזת השאילתה.
אבל מה אם אנחנו לא רוצים לשים את הנתונים שלנו בתוך ה-URL של דף?
לכמויות גדולות של נתונים, זה יכול לגרום לכמה כתובות מכוערות למדי
שהולכים לעשות צולע המבט באתר המבריק שלנו.
אנחנו יכולים לשים במקום מחרוזת השאילתה לגוף
של בקשות HTTP ולא את כתובת האתר של הבקשה.
אז אנחנו יכולים להשתמש במשתנה של PHP $ _POST
כדי לגשת לזוגות ערך המפתח.
דרך אחת לעשות זאת היא באמצעות טופס HTML.
כאן יש לנו טופס HTML פשוט.
שים לב כאן שהתכונה השיטה של ​​צורה זו היא הודעה.
זה אומר לדפדפן לשים זוגות ערך המפתח של הטופס
לגוף הבקשה ולא את כתובת האתר.
>> אם היינו משתמש בערך לקבל עבור תכונה זו
אז זוגות ערך המפתח של הטופס היינו במקום להיכנס למחרוזת השאילתה,
כדי שנוכל לגשת אליהם באמצעות _GET $ שוב.
התכונה action של הטופס אומרת לדפדפן לאן לשלוח את הנתונים.
כאן יש לנו 2 אלמנטי קלט שם תכונות.
הערך של שם התכונות ישמש כמפתחות לנתונים שלנו,
ואת ערכיה של תשומות הטקסט יהפכו ערכים של המפתחות הללו.
עכשיו בואו נסתכל על post.php,
את הקובץ שבצורה זו היא הגשה ל.
בדיוק כמו שעשינו בעבר, אנחנו פשוט להציג את התוכן של משתנה $ _POST.
>> בואו לנווט לטופס עם http://localhost/form.php.
כעת, כאשר אנו לשלוח את הטופס ניתן לראות כי נתונים מform.php
הוא עבר לpost.php ללא צירוף מחרוזת שאילתה לכתובת האתר.
עכשיו שראינו 2 דרכים של העברת נתונים בין דפי PHP שונות,
לקבל ולפרסם.
בדוגמאות שלנו, השתמשו 2 סוגים שונים של בקשות HTTP.
כפי שאפשר לצפות, בקשת גט הייתה בשימוש כאשר אנו מאוכלסים
_GET $ מכתובת האתר, ולאחר בקשה היה בשימוש
כאשר אנו מאוכלסים $ _POST.
בעיצוב אפליקציות האינטרנט שלך זה כלל אצבע טובה להשתמש בקשות גט
כאשר האפליקציה שלך תהיה רק ​​לקרוא את הנתונים, ולאחר בקשות
כאשר האפליקציה שלך תהיה לכתוב נתונים.
לדוגמא, שאילתת חיפוש תהיה לקרוא נתונים מהאפליקציה שלך,
כך בקשת גט הגיונית.
מצד השני, האפליקציה שלך תכתוב נתונים באמצעות משהו כמו טופס הרשמה,
כך שלאחר בקשה תהיה הגיונית יותר, וזה סקירה של כמה הטכניקות
אנחנו נהיה באמצעות בCS50 כדי ליצור אתרי אינטרנט באמצעות PHP.
>> שמי הוא טומי, וזה CS50.
[CS50.TV]