1 00:00:00,000 --> 00:00:03,000 [Powered by Google Translate] [PHP פיתוח אינטרנט] 2 00:00:03,000 --> 00:00:05,000 [טומי MacWilliam] 3 00:00:05,000 --> 00:00:07,000 [זה CS50.] [CS50.TV] 4 00:00:07,000 --> 00:00:11,000 >> , אנחנו תלמדו בסרטון הזה על שימוש PHP לפיתוח אינטרנט. 5 00:00:11,000 --> 00:00:14,000 PHP היא שפת סקריפטים שניתן להשתמש בם כדי ליישם 6 00:00:14,000 --> 00:00:17,000 אתרים על שרת אינטרנט. 7 00:00:17,000 --> 00:00:21,000 שרת אינטרנט הוא למעשה מכונה המחויבת לספק תוכן 8 00:00:21,000 --> 00:00:24,000 שניתן לגשת באמצעות האינטרנט. 9 00:00:24,000 --> 00:00:30,000 כאשר אתה מנווט לדף אינטרנט כמו Facebook.com / home.php 10 00:00:30,000 --> 00:00:35,000 הקוד בhome.php הקובץ בשם שחי על שרת אינטרנט של פייסבוק במקום כלשהו 11 00:00:35,000 --> 00:00:38,000 יבוצע בשרת זה. 12 00:00:38,000 --> 00:00:41,000 קוד זה צפוי לייצר כמה פלט 13 00:00:41,000 --> 00:00:43,000 אשר בתורו תישלח מהשרת 14 00:00:43,000 --> 00:00:45,000 לדפדפן האינטרנט שלך. 15 00:00:45,000 --> 00:00:49,000 אנחנו נהיה שימוש במכשיר CS50 כשרת אינטרנט. 16 00:00:49,000 --> 00:00:51,000 המחשב שלך כנראה לא יהיה חזק כמעט כמו המכונות 17 00:00:51,000 --> 00:00:57,000 במרכז הנתונים של פייסבוק, אבל לא יהיה לך בעיה להשתמש בו לפיתוח אינטרנט. 18 00:00:57,000 --> 00:01:05,000 >> כאשר אנו מנווטים לכתובת אתר כמו http://localhost/hello.php 19 00:01:05,000 --> 00:01:10,000 אנחנו להגדיר את המכשיר באמצעות יישום בשם שרת Apache HTTP 20 00:01:10,000 --> 00:01:19,000 כדי לחפש קובץ שנקרא hello.php בתוך הבית / jharvard / vhosts / localhosts / html כברירת מחדל. 21 00:01:19,000 --> 00:01:23,000 אם קובץ שקיים אז האפצ'י ישתמש מתורגמן PHP 22 00:01:23,000 --> 00:01:27,000 כדי להפעיל את קוד PHP בhello.php. 23 00:01:27,000 --> 00:01:31,000 אם קובץ שאינו קיים ולאחר מכן אפצ'י יזרוק שגיאה לא נמצאה 24 00:01:31,000 --> 00:01:36,000 או שגיאה 404, שאתה כנראה לא ראית בעת הגלישה באינטרנט. 25 00:01:36,000 --> 00:01:40,000 >> בואו נסתכל על hello.php. 26 00:01:40,000 --> 00:01:45,000 אנחנו יכולים לראות כאן שhello.php יוצר קו איתות מתפוקה. 27 00:01:45,000 --> 00:01:51,000 כשרצנו hello.php בשורת הפקודה באמצעות hello.php php 28 00:01:51,000 --> 00:01:54,000 הפלט שהודפס למסוף. 29 00:01:54,000 --> 00:01:58,000 עכשיו, כשאנחנו לגשת לקובץ זה באמצעות כתובת אתר בדפדפן האינטרנט 30 00:01:58,000 --> 00:02:01,000 הפלט שלה יישלח לדפדפן האינטרנט, 31 00:02:01,000 --> 00:02:09,000 כך כותרת לכתובת האתר, http://localhost/hello.php, 32 00:02:09,000 --> 00:02:12,000 אנחנו יכולים לראות את הפלט בדפדפן האינטרנט שלנו. 33 00:02:12,000 --> 00:02:17,000 >> בואו לנסות להוסיף printf אחר לתכנית שלום העולם שלנו. 34 00:02:17,000 --> 00:02:23,000 אוקיי, בואו לחזור לדפדפן האינטרנט ולראות מה יש לנו. 35 00:02:23,000 --> 00:02:25,000 מעניין. 36 00:02:25,000 --> 00:02:28,000 במקום להדפיס עוד שורה בשורה הנפרדת, כפי שהיית שראית 37 00:02:28,000 --> 00:02:32,000 בטרמינל, זה נראה כאילו היא מחצה לו על אותו הקו 38 00:02:32,000 --> 00:02:36,000 כמו printf האחר, קווים אולי כל כך חדשים לא עובדים ב-PHP. 39 00:02:36,000 --> 00:02:38,000 לא ממש. 40 00:02:38,000 --> 00:02:41,000 זכור ש-HTML משמש בדרך כלל כדי ליצור דפי אינטרנט 41 00:02:41,000 --> 00:02:44,000 שניתן להציג על ידי דפדפני אינטרנט. 42 00:02:44,000 --> 00:02:49,000 לא רק היא המחרוזת שלום מ-HTML לא חוקי PHP, 43 00:02:49,000 --> 00:02:53,000 אבל זוכר שאנחנו לא יכולים להשתמש בתו \ n ב-HTML 44 00:02:53,000 --> 00:02:55,000 כדי ליצור מעבר שורה. 45 00:02:55,000 --> 00:03:01,000 במקום פשוט פלט HTML תקף הפלט של מחרוזת בואו. 46 00:03:01,000 --> 00:03:04,000 על ידי שימוש בתגי פסקה כל אחת משיחותינו printf 47 00:03:04,000 --> 00:03:07,000 יוצג בשורה הנפרדת, 48 00:03:07,000 --> 00:03:11,000 אז עכשיו כשאנחנו מבקרים ההצבעה כתובת האתר לvalid.php 49 00:03:11,000 --> 00:03:17,000 http://localhost/valid.php 50 00:03:17,000 --> 00:03:19,000 אנו רואים את התפוקה שאנחנו מחפשים. 51 00:03:19,000 --> 00:03:22,000 >> עכשיו, אם אנו רואים את המקור של הדף, 52 00:03:22,000 --> 00:03:25,000 אנו יכולים לראות שאנחנו עכשיו מסתכלים HTML תקף, 53 00:03:25,000 --> 00:03:28,000 שיצרנו מ-PHP. 54 00:03:28,000 --> 00:03:31,000 לשים את כל HTML שלנו בתוך שיחות printf 55 00:03:31,000 --> 00:03:34,000 הוא כמובן הולך לקבל ממש מעצבן. 56 00:03:34,000 --> 00:03:38,000 למזלנו אנחנו יכולים בקלות לערבב HTML ו-PHP 57 00:03:38,000 --> 00:03:41,000 באותו הקובץ php.. 58 00:03:41,000 --> 00:03:47,000 זכור, כל קוד PHP שלנו חייב להיות סגור בתוך 00:03:49,000 ו?>. 60 00:03:49,000 --> 00:03:52,000 כל דבר שאינו סגור בתוך מפרידים אלה 61 00:03:52,000 --> 00:03:55,000 פשוט יישלח כפלט לדפדפן 62 00:03:55,000 --> 00:03:57,000 במקום להיות מוצאים להורג. 63 00:03:57,000 --> 00:04:01,000 זה אומר שאנחנו יכולים לעשות משהו כזה. 64 00:04:01,000 --> 00:04:05,000 אנחנו פשוט יכולים לכתוב HTML בתוך. קובץ PHP שלנו 65 00:04:05,000 --> 00:04:11,000 ולאחר מכן להוסיף בלוקים PHP בכל מקום שהיינו רוצה קצת קוד PHP כדי להיות מוצא להורג. 66 00:04:11,000 --> 00:04:15,000 כאן אנחנו מגדירים כמה משתנים בחלק העליון של הקובץ, 67 00:04:15,000 --> 00:04:19,000 ולאחר מכן אנו להדפיס אותם בתוך ה-HTML שלנו. 68 00:04:19,000 --> 00:04:27,000 עכשיו, אם אנחנו מבקרים את כתובת אתר, http://localhost/mixed.php 69 00:04:27,000 --> 00:04:33,000 אנו יכולים לראות PHP הערכתנו בתוך ה-HTML שלנו. 70 00:04:33,000 --> 00:04:36,000 >> עכשיו בואו נסתכל על איך אנחנו יכולים להעביר נתונים 71 00:04:36,000 --> 00:04:39,000 בין דפי PHP השונים שלנו. 72 00:04:39,000 --> 00:04:51,000 במקום לומר <הדפסת PHP ($);??> 73 00:04:51,000 --> 00:04:58,000 אנחנו פשוט יכולים להגיד 00:05:01,000 ו?>. 75 00:05:01,000 --> 00:05:03,000 עכשיו בואו נסתכל על איך אנחנו יכולים להעביר נתונים 76 00:05:03,000 --> 00:05:06,000 בין דפי PHP השונים שלנו. 77 00:05:06,000 --> 00:05:11,000 אחת דרכים שאנו יכולים לעשות את זה היא כדי לקודד מידע לתוך כתובת האתר של דף. 78 00:05:11,000 --> 00:05:14,000 בעת הגלישה באינטרנט, אתה אולי שמת לב שכמה כתובות אתרים 79 00:05:14,000 --> 00:05:20,000 מכיל? ואחריו מחרוזת המכילה תווי אמפרסנד וסימנים שווים. 80 00:05:20,000 --> 00:05:23,000 חלק זה של ה-URL המכונה מחרוזת השאילתה, 81 00:05:23,000 --> 00:05:29,000 וזה מאפשר לך לעבור ביעילות טיעונים לסקריפט PHP שלך. 82 00:05:29,000 --> 00:05:34,000 מחרוזת השאילתה מורכבת מזוגות ערך מפתח, בדיוק כמו שולחן חשיש. 83 00:05:34,000 --> 00:05:38,000 סימן שוויון מפריד מפתח וערך המקביל שלה 84 00:05:38,000 --> 00:05:41,000 בעוד סימן חיבור להפריד זוגות. 85 00:05:41,000 --> 00:06:05,000 כתובת אתר שנראה http://localhost/get.php?foo=bar&baz=qux 86 00:06:05,000 --> 00:06:09,000 יש לו 2 זוגות ערך מפתח במחרוזת השאילתה. 87 00:06:09,000 --> 00:06:12,000 Foo מפתח מפות לבר הערך, 88 00:06:12,000 --> 00:06:16,000 ואז מפתח מפות לqux הערך. 89 00:06:16,000 --> 00:06:23,000 אנחנו יכולים לגשת בקלות לזוגות ערך מפתח אלה באמצעות משתנים מיוחדים ב-PHP, 90 00:06:23,000 --> 00:06:29,000 _GET $. 91 00:06:29,000 --> 00:06:32,000 _GET $ הוא מערך אסוציאטיבי 92 00:06:32,000 --> 00:06:36,000 כי הוא מאוכלס באופן אוטומטי עם נתוני מחרוזת שאילתה. 93 00:06:36,000 --> 00:06:46,000 זה אומר שנתן _GET זה URL $ ["foo"] 94 00:06:46,000 --> 00:06:49,000 יהיה שווה לבר המחרוזת. 95 00:06:49,000 --> 00:06:56,000 >> בואו נסתכל על get.php לראות _GET $ בפעולה. 96 00:06:56,000 --> 00:07:00,000 כאן אנו משתמשים בפונקציה שנקראת var_dump, 97 00:07:00,000 --> 00:07:03,000 שכאשר ניתנים מערך או משתנים אחרים 98 00:07:03,000 --> 00:07:05,000 יהיה להדפיס את זה עבורנו. 99 00:07:05,000 --> 00:07:12,000 עכשיו, אם אנחנו פשוט לגשת http://localhost/get.php 100 00:07:12,000 --> 00:07:17,000 אז נראה מערך ריק, כי אנחנו לא סיפקנו מחרוזת שאילתה. 101 00:07:17,000 --> 00:07:29,000 אם אנחנו עושים לספק מחרוזת שאילתה באמצעות http://localhost/get.php?foo=bar&baz=qux 102 00:07:29,000 --> 00:07:34,000 אז אנחנו יכולים לראות שמשתנים _GET $ יכילו 103 00:07:34,000 --> 00:07:37,000 זוגות ערך המפתח של מחרוזת השאילתה. 104 00:07:37,000 --> 00:07:42,000 אבל מה אם אנחנו לא רוצים לשים את הנתונים שלנו בתוך ה-URL של דף? 105 00:07:42,000 --> 00:07:46,000 לכמויות גדולות של נתונים, זה יכול לגרום לכמה כתובות מכוערות למדי 106 00:07:46,000 --> 00:07:49,000 שהולכים לעשות צולע המבט באתר המבריק שלנו. 107 00:07:49,000 --> 00:07:52,000 אנחנו יכולים לשים במקום מחרוזת השאילתה לגוף 108 00:07:52,000 --> 00:07:57,000 של בקשות HTTP ולא את כתובת האתר של הבקשה. 109 00:07:57,000 --> 00:08:02,000 אז אנחנו יכולים להשתמש במשתנה של PHP $ _POST 110 00:08:02,000 --> 00:08:05,000 כדי לגשת לזוגות ערך המפתח. 111 00:08:05,000 --> 00:08:10,000 דרך אחת לעשות זאת היא באמצעות טופס HTML. 112 00:08:10,000 --> 00:08:13,000 כאן יש לנו טופס HTML פשוט. 113 00:08:13,000 --> 00:08:17,000 שים לב כאן שהתכונה השיטה של ​​צורה זו היא הודעה. 114 00:08:17,000 --> 00:08:21,000 זה אומר לדפדפן לשים זוגות ערך המפתח של הטופס 115 00:08:21,000 --> 00:08:25,000 לגוף הבקשה ולא את כתובת האתר. 116 00:08:25,000 --> 00:08:28,000 >> אם היינו משתמש בערך לקבל עבור תכונה זו 117 00:08:28,000 --> 00:08:32,000 אז זוגות ערך המפתח של הטופס היינו במקום להיכנס למחרוזת השאילתה, 118 00:08:32,000 --> 00:08:36,000 כדי שנוכל לגשת אליהם באמצעות _GET $ שוב. 119 00:08:36,000 --> 00:08:42,000 התכונה action של הטופס אומרת לדפדפן לאן לשלוח את הנתונים. 120 00:08:42,000 --> 00:08:46,000 כאן יש לנו 2 אלמנטי קלט שם תכונות. 121 00:08:46,000 --> 00:08:51,000 הערך של שם התכונות ישמש כמפתחות לנתונים שלנו, 122 00:08:51,000 --> 00:08:56,000 ואת ערכיה של תשומות הטקסט יהפכו ערכים של המפתחות הללו. 123 00:08:56,000 --> 00:08:59,000 עכשיו בואו נסתכל על post.php, 124 00:08:59,000 --> 00:09:03,000 את הקובץ שבצורה זו היא הגשה ל. 125 00:09:03,000 --> 00:09:10,000 בדיוק כמו שעשינו בעבר, אנחנו פשוט להציג את התוכן של משתנה $ _POST. 126 00:09:10,000 --> 00:09:18,000 >> בואו לנווט לטופס עם http://localhost/form.php. 127 00:09:18,000 --> 00:09:23,000 כעת, כאשר אנו לשלוח את הטופס ניתן לראות כי נתונים מform.php 128 00:09:23,000 --> 00:09:30,000 הוא עבר לpost.php ללא צירוף מחרוזת שאילתה לכתובת האתר. 129 00:09:30,000 --> 00:09:35,000 עכשיו שראינו 2 דרכים של העברת נתונים בין דפי PHP שונות, 130 00:09:35,000 --> 00:09:37,000 לקבל ולפרסם. 131 00:09:37,000 --> 00:09:41,000 בדוגמאות שלנו, השתמשו 2 סוגים שונים של בקשות HTTP. 132 00:09:41,000 --> 00:09:45,000 כפי שאפשר לצפות, בקשת גט הייתה בשימוש כאשר אנו מאוכלסים 133 00:09:45,000 --> 00:09:51,000 _GET $ מכתובת האתר, ולאחר בקשה היה בשימוש 134 00:09:51,000 --> 00:09:55,000 כאשר אנו מאוכלסים $ _POST. 135 00:09:55,000 --> 00:09:59,000 בעיצוב אפליקציות האינטרנט שלך זה כלל אצבע טובה להשתמש בקשות גט 136 00:09:59,000 --> 00:10:03,000 כאשר האפליקציה שלך תהיה רק ​​לקרוא את הנתונים, ולאחר בקשות 137 00:10:03,000 --> 00:10:05,000 כאשר האפליקציה שלך תהיה לכתוב נתונים. 138 00:10:05,000 --> 00:10:09,000 לדוגמא, שאילתת חיפוש תהיה לקרוא נתונים מהאפליקציה שלך, 139 00:10:09,000 --> 00:10:12,000 כך בקשת גט הגיונית. 140 00:10:12,000 --> 00:10:17,000 מצד השני, האפליקציה שלך תכתוב נתונים באמצעות משהו כמו טופס הרשמה, 141 00:10:17,000 --> 00:10:22,000 כך שלאחר בקשה תהיה הגיונית יותר, וזה סקירה של כמה הטכניקות 142 00:10:22,000 --> 00:10:26,000 אנחנו נהיה באמצעות בCS50 כדי ליצור אתרי אינטרנט באמצעות PHP. 143 00:10:26,000 --> 00:10:30,000 >> שמי הוא טומי, וזה CS50. 144 00:10:30,000 --> 00:10:36,000 [CS50.TV]