1 00:00:00,000 --> 00:00:04,410 >> [השמעת מוסיקה] 2 00:00:04,410 --> 00:00:12,250 3 00:00:12,250 --> 00:00:15,770 >> SPEAKER 1: זה CS50 ו זה הסוף של שבוע שבע. 4 00:00:15,770 --> 00:00:20,240 היום הוא אולי שבו אנחנו באמת מלמד אותך שפות. 5 00:00:20,240 --> 00:00:24,100 אנחנו הצגנו בכמה מהעבר השבועות HTML ו- CSS, אף אחת מהן 6 00:00:24,100 --> 00:00:25,240 הם שפות תכנות. 7 00:00:25,240 --> 00:00:28,600 ואכן, למרות שאנחנו לא מסתכל על כמעט כל התגים 8 00:00:28,600 --> 00:00:33,410 HTML שמגיע עם וכמעט כל של הנכסים שמגיע עם CSS, 9 00:00:33,410 --> 00:00:35,007 זה סוג שלו ל- HTML ו- CSS. 10 00:00:35,007 --> 00:00:36,840 אנחנו פשוט כלל תתחיל בהנחה שאתה 11 00:00:36,840 --> 00:00:39,545 להבין את הרעיונות הכלליים תגים, ותכונות, 12 00:00:39,545 --> 00:00:41,850 ונשלחו דפים מהלקוח לשרת. 13 00:00:41,850 --> 00:00:45,280 >> כי היום אנחנו מתחילים להסתכל על שפת תכנות אחרת, PHP. 14 00:00:45,280 --> 00:00:47,110 אנחנו הולכים לעשות את זה סופר מהיר. 15 00:00:47,110 --> 00:00:50,910 אנחנו לא הולכים ללמד אותך PHP כשלעצמה, הרבה כמו שאנחנו לא שואפים ללמד אותך 16 00:00:50,910 --> 00:00:52,670 C, תכנות כשלעצמה, אלא. 17 00:00:52,670 --> 00:00:55,088 ואכן, אחד מ מטרות קורס זה 18 00:00:55,088 --> 00:00:57,820 לא ללמד אותך C, או HTML, CSS או, או PHP, 19 00:00:57,820 --> 00:01:00,370 או כל מספר אחר מילים באז או ראשי תיבות, 20 00:01:00,370 --> 00:01:03,097 אלא מדעי המחשב ואיך לתכנת במהותו. 21 00:01:03,097 --> 00:01:05,930 ואכן, היום אנחנו מתחילים לקחת גלגלי עזר אלה את כל 22 00:01:05,930 --> 00:01:10,600 נוסף על ידי לטוס דרך ב שפה נקראת PHP, כדלקמן. 23 00:01:10,600 --> 00:01:13,640 >> הנה מה שפה זה נראית כמו. 24 00:01:13,640 --> 00:01:17,790 מתברר שאין צורך ב פונקציה העיקרית בתכנית נכתבה 25 00:01:17,790 --> 00:01:19,470 בשפה הנקראת PHP. 26 00:01:19,470 --> 00:01:22,585 כך שכבר נשמע קצת יותר פשוט מ C, שבה אנו מכירים. 27 00:01:22,585 --> 00:01:25,370 מסתבר שאם אתה רוצה להצהיר על משתנה, 28 00:01:25,370 --> 00:01:29,470 אתה עושה את זה כמעט זהה לג אבל יש הבדל אחד ברור כאן 29 00:01:29,470 --> 00:01:31,850 כאשר אני מצהיר מחרוזת, או אולי שני הבדלים. 30 00:01:31,850 --> 00:01:32,725 מה נראה שונה? 31 00:01:32,725 --> 00:01:35,810 32 00:01:35,810 --> 00:01:37,160 >> קהל: סימן הדולר. 33 00:01:37,160 --> 00:01:39,951 >> SPEAKER 1: כן, יש דולר חתימה, שמעולם לא ראו קודם. 34 00:01:39,951 --> 00:01:41,451 ומה חסר? 35 00:01:41,451 --> 00:01:41,950 כן? 36 00:01:41,950 --> 00:01:42,820 >> קהל: [לא ברור] 37 00:01:42,820 --> 00:01:44,403 >> 1 SPEAKER: כן, אין סוג נתונים. 38 00:01:44,403 --> 00:01:48,410 אז מתברר שזה מה שאנחנו PHP קורא שפת הקלדה באופן רופף, שבו 39 00:01:48,410 --> 00:01:49,959 C הוא מסוג חזק. 40 00:01:49,959 --> 00:01:52,500 באופן רופף הקליד רק אומר ש ישנם סוגים שונים נתונים, 41 00:01:52,500 --> 00:01:54,470 יש מחרוזות, וints, וצוף. 42 00:01:54,470 --> 00:01:56,330 אבל נתוני המחשב שיצא. 43 00:01:56,330 --> 00:01:58,664 אתה מתכנת האנושי לא צריך להבין את זה. 44 00:01:58,664 --> 00:02:00,580 אז כל מה שאתה צריך לעשות להכריז משתנה הוא 45 00:02:00,580 --> 00:02:03,220 סימן דולר, על שם משתנה, ולאחר מכן, למשל, 46 00:02:03,220 --> 00:02:04,760 ציטוט סוף ציטוט, שלום עולם. 47 00:02:04,760 --> 00:02:07,662 >> ובכן זה מה ש מצב נראה כמו ב- PHP. 48 00:02:07,662 --> 00:02:08,328 כל הבדלים? 49 00:02:08,328 --> 00:02:10,650 50 00:02:10,650 --> 00:02:11,150 מס ' 51 00:02:11,150 --> 00:02:12,540 אז מתברר אלה הם זהים. 52 00:02:12,540 --> 00:02:14,665 וייתכן שיש להם פחות סניפי סניפים או יותר, 53 00:02:14,665 --> 00:02:16,557 אבל תור התחביר בדיוק אותו הדבר. 54 00:02:16,557 --> 00:02:18,390 ביטויי בוליאני יכול להיות הורה יחד. 55 00:02:18,390 --> 00:02:20,400 ביטויים בוליאנית ניתן anded יחד. 56 00:02:20,400 --> 00:02:21,430 עדיין יש לך מתגים. 57 00:02:21,430 --> 00:02:23,790 גם אם אתה לא השתמשת אלה, אלה קיימים בC 58 00:02:23,790 --> 00:02:26,020 והם פונקציונלי שווה ערך ב- PHP. 59 00:02:26,020 --> 00:02:28,260 >> ואכן, ב- PHP הם קצת יותר חזק. 60 00:02:28,260 --> 00:02:32,540 ב- C, אתה יכול רק להשוות מסוים סוגים כמו ints ותווי נתונים, 61 00:02:32,540 --> 00:02:36,320 ואילו בPHP אתה באמת יכול להשוות מחרוזות להצמיח נוצות מלאה מבלי 62 00:02:36,320 --> 00:02:38,460 לדאוג מצביעים וכדומה. 63 00:02:38,460 --> 00:02:39,430 אז הנה ללולאה. 64 00:02:39,430 --> 00:02:41,270 זוהי רק פסאודו קוד קוד, אם תרצה. 65 00:02:41,270 --> 00:02:43,400 אבל מבחינה מבנית זה זהה לג 66 00:02:43,400 --> 00:02:47,520 >> הנה תוך לולאה, פסאודו קוד therefore-- זהה לג 67 00:02:47,520 --> 00:02:49,390 הנה לעשות בזמן loop-- זהה. 68 00:02:49,390 --> 00:02:51,390 וכך יש סוג של כאן דפוס שבו זה 69 00:02:51,390 --> 00:02:54,400 יש כמה תחבירי אחרות תכונות שאנחנו אכן הולכים לראות. 70 00:02:54,400 --> 00:02:57,340 למעשה, כאן הוא נחמד דרך ב- PHP לפי, 71 00:02:57,340 --> 00:02:59,350 אם אתה רוצה לחזר על מערך, ואתה 72 00:02:59,350 --> 00:03:02,309 לא רוצה לקפוץ דרך חישוקים נפשיים ותחביריים של בעל 73 00:03:02,309 --> 00:03:05,178 int i שווה 0, אני פחות מ n, i בתוספת plus-- ש 74 00:03:05,178 --> 00:03:07,040 רק הרבה תחביר מעצבן. 75 00:03:07,040 --> 00:03:10,654 אתה יכול לומר קצת יותר יפה ורהוט היום לכל מספרים 76 00:03:10,654 --> 00:03:13,320 כמספר, שבו במקרה זה מספרי סימן דולר, אני מניח, 77 00:03:13,320 --> 00:03:15,400 זה כמו מספרי מערך נקרא. 78 00:03:15,400 --> 00:03:18,810 ואז אני מניח שמספר, יחיד, הולך להיות משתנה. 79 00:03:18,810 --> 00:03:22,940 >> ומה יהיה PHP לעשות בשבילי כמו שאני לחזר על לולאה זו היא, בכל איטרציה, 80 00:03:22,940 --> 00:03:28,450 זה הולך לעדכן את המספר משתנה ל להיות אלמנט ה- i במספרים, בלשון רבים. 81 00:03:28,450 --> 00:03:30,060 אז זה רק מטפל בכל זה בשבילי. 82 00:03:30,060 --> 00:03:32,750 אין סוגריים מרובעים, לא סימן דולר, לא חצי -נקודתיים. 83 00:03:32,750 --> 00:03:34,117 זה רק קצת יותר פשוט. 84 00:03:34,117 --> 00:03:35,950 ובכן, אם אתה רוצה מערך, מתברר לך 85 00:03:35,950 --> 00:03:38,908 יכול לעשות משהו די דומה ל ג התחביר הוא קצת שונה. 86 00:03:38,908 --> 00:03:41,000 אבל הנה מערך נקרא דולר חתם מספרים. 87 00:03:41,000 --> 00:03:44,261 ואני משתמש, ב- PHP, כיכר סוגריים, מתברר. 88 00:03:44,261 --> 00:03:47,260 ואנחנו הולכים לראות אותם שוב בJavaScript-- עדיין שפה אחרת. 89 00:03:47,260 --> 00:03:49,968 רק אני משתמש בסימון הסוגר מרובע יש רשימה מופרדת בפסיקים 90 00:03:49,968 --> 00:03:51,530 של מספרים שלמים, במקרה זה. 91 00:03:51,530 --> 00:03:53,010 אבל זה נותן לי מערך. 92 00:03:53,010 --> 00:03:56,270 >> אבל אפילו יותר חזק ב- PHP, יש לנו גם מה הם בדרך כלל 93 00:03:56,270 --> 00:03:57,640 נקרא מערכים אסוציאטיביים. 94 00:03:57,640 --> 00:03:59,540 והרבה שפות יש לי אלה, כמו גם. 95 00:03:59,540 --> 00:04:03,810 הדבר על מערכי C הוא שהמדדים 96 00:04:03,810 --> 00:04:06,940 למערך, הדבר ש להשתמש בסוגריים מרובעים שדרכו 97 00:04:06,940 --> 00:04:08,600 אתה ניגש לאלמנטים, חייב להיות מה? 98 00:04:08,600 --> 00:04:10,620 >> קהל: [לא ברור] 99 00:04:10,620 --> 00:04:14,220 >> 1 מרצה: הם צריכים להיות מספרים או מספרים שלמים, במיוחד מנקודת האפס בעד. 100 00:04:14,220 --> 00:04:17,140 ובכן, ב- PHP, ו, מתברר את, בשפות אחרות, 101 00:04:17,140 --> 00:04:20,820 אתה יכול להתחיל ליש לי מדדים שאינם מספריים. 102 00:04:20,820 --> 00:04:23,880 אבל הם בעצם מילות או ביטויים, כך שבמקום 103 00:04:23,880 --> 00:04:27,070 מנסה להיזכר בו משהו הוא, או מאוחסן בי משתנה, 104 00:04:27,070 --> 00:04:31,720 למעשה אתה יכול להשתמש במילה ואומר לראות-- אתה יכול להגיד מילה כמו זה. 105 00:04:31,720 --> 00:04:34,730 >> אז ציטוט סימן דולר הוא שמו של משתנה כאן. 106 00:04:34,730 --> 00:04:39,360 זהו תחביר פאנקי קצת זה שיוך שני ערך מפתח 107 00:04:39,360 --> 00:04:41,250 זוגות למשתנה זה. 108 00:04:41,250 --> 00:04:45,490 באופן ספציפי, זה נותן לי מערך שהוא באורך 2. 109 00:04:45,490 --> 00:04:47,660 אבל האינדקסים אינם 0 ו -1. 110 00:04:47,660 --> 00:04:51,250 המדדים הם ציטוט סוף ציטוט סמל ומחיר סוף ציטוט ציטוט. 111 00:04:51,250 --> 00:04:55,990 ואת הערכים של מדדים אלה, בהתאמה, הוא FB לפייסבוק 112 00:04:55,990 --> 00:05:00,360 ו$ 79.53, כאשר אני תימשך בדק מחיר לכך. 113 00:05:00,360 --> 00:05:01,210 >> מה הכוונה? 114 00:05:01,210 --> 00:05:04,136 ובכן, זה אומר ש במקום כתיבת קוד 115 00:05:04,136 --> 00:05:09,612 כמו זה, שבו נהג לעשות משהו כמו דולר sign-- או לייתר דיוק, בC 116 00:05:09,612 --> 00:05:11,070 אני אפילו לא היה סימן דולר. 117 00:05:11,070 --> 00:05:13,490 אני הייתי עושה משהו כמו ציטוטים ולאחר מכן 118 00:05:13,490 --> 00:05:18,410 אני הייתי עושה את הסוגר אני לקבל בכמה באופן שרירותי מבחינה מספרית צמוד ערך. 119 00:05:18,410 --> 00:05:21,430 החל מהיום ב- PHP, אם אתה רוצה לקבל בכמה ערך, 120 00:05:21,430 --> 00:05:24,742 אנחנו סוג של יש יותר הבעה סמנטית. 121 00:05:24,742 --> 00:05:27,450 רק דרך מפוארת של אומר שאנחנו יכולים רק לקרוא לדברים מה שהם. 122 00:05:27,450 --> 00:05:29,800 >> ואם אתה רוצה לקבל בסמל משהו, 123 00:05:29,800 --> 00:05:32,180 עכשיו אתה ממש לעשות לצטט סמל סוף ציטוט 124 00:05:32,180 --> 00:05:34,910 בסוגריים מרובעים במקום מספר בלבד. 125 00:05:34,910 --> 00:05:36,450 אז זה נחמד נוחות. 126 00:05:36,450 --> 00:05:38,140 וזה סוג שלו לעת עתה. 127 00:05:38,140 --> 00:05:40,240 יש צרורות תכונות אחרות ב- PHP. 128 00:05:40,240 --> 00:05:43,180 ואכן, PHP מגיע עם כיור מטבח פתגמי. 129 00:05:43,180 --> 00:05:48,640 עשרות, מאות פונקציות מגיעים עם PHP-- כל כך הרבה יותר מאשר הגיע עם ג 130 00:05:48,640 --> 00:05:51,360 >> וזה לא נועד ל להציף אלא לעזור 131 00:05:51,360 --> 00:05:53,900 אתה מבין שאנחנו לא כבר לא צריך לכתוב קוד 132 00:05:53,900 --> 00:05:55,590 זה סוג של כאן למטה מושגית. 133 00:05:55,590 --> 00:05:58,465 עכשיו אנחנו יכולים פשוט להתחיל מנצלים הרבה יותר תכונות מתקדמות 134 00:05:58,465 --> 00:05:59,920 שיש לי שפות כמו PHP. 135 00:05:59,920 --> 00:06:02,630 אז אנחנו לא צריכים לדאוג הזיז דברים בזיכרון. 136 00:06:02,630 --> 00:06:05,338 אנחנו לא צריכים לדאוג malloc וכל אלה ברמה נמוכה יותר, 137 00:06:05,338 --> 00:06:09,390 פרטים רבי עוצמה שתוכל להתמודד עם, אם לא במאבק עם, pset5, 138 00:06:09,390 --> 00:06:13,380 אבל אתה יכול להתחיל בקרוב לקחת כמובן מאליו. 139 00:06:13,380 --> 00:06:17,770 >> למעשה, בואו לכתוב סופר תכנית פשוטה ב- PHP, כדלקמן. 140 00:06:17,770 --> 00:06:21,550 אני הולך ללכת ראש בCS50 IDE כאן, ומה שאני הולך לעשות 141 00:06:21,550 --> 00:06:29,370 הוא ליצור קובץ חדש, שמאוד פשוט הוא הולך להיקרא שלום PHP נקודה. 142 00:06:29,370 --> 00:06:31,860 אז במקום נקודת ג, זה הולך להיות נקרא הנקודה PHP. 143 00:06:31,860 --> 00:06:34,260 ולאחר מכן בקובץ זה, אני יכול להתחיל להקליד. 144 00:06:34,260 --> 00:06:36,960 אבל מתברר ש דבר אחד אני צריך לדעת 145 00:06:36,960 --> 00:06:41,470 הוא שכל קובץ PHP באופן כללי, צריך להתחיל עם כמה תחביר מיוחד. 146 00:06:41,470 --> 00:06:44,570 דומה ברוחו ל- HTML, אבל שוב, PHP היא שפת תכנות, לא 147 00:06:44,570 --> 00:06:45,590 שפת סימון. 148 00:06:45,590 --> 00:06:48,700 >> אז כל קובץ, וזה סוג של טיפשים מחפש אני מודה. 149 00:06:48,700 --> 00:06:50,480 הסוגר פתוח, סימן שאלה, PHP. 150 00:06:50,480 --> 00:06:53,060 וזה רק הדרך של השפה אומר, 151 00:06:53,060 --> 00:06:58,400 היי, מחשב כאן מגיע חלק קוד כתוב בשפה PHP בשם. 152 00:06:58,400 --> 00:07:01,900 ואז ממש בסוף של הקובץ שלך, אתה עושה סוג של סוג של ההפך. 153 00:07:01,900 --> 00:07:04,860 אתה לא כותב PHP שוב, אתה רק לעשות סימן שאלה, תושבת זווית. 154 00:07:04,860 --> 00:07:08,500 ואז כל דבר שאתה מכניס שני התגים הללו, כביכול, 155 00:07:08,500 --> 00:07:11,490 יהיה, או צריך להיות, קוד PHP. 156 00:07:11,490 --> 00:07:13,180 >> אז בואו נעשה משהו סופר פשוט. 157 00:07:13,180 --> 00:07:19,370 אני הולך קדימה ולעשות הדפסה def, שלום העולם, n הלוכסן, לחסוך. 158 00:07:19,370 --> 00:07:27,310 ועכשיו בהפקודה, אני הולך לעשות, לעשות hello-- לא, אני הולך לעשות, 159 00:07:27,310 --> 00:07:28,726 נקודה לקצץ שלום. 160 00:07:28,726 --> 00:07:31,250 לא, קו נטוי נקודה, HM. 161 00:07:31,250 --> 00:07:32,990 אז משהו שונה. 162 00:07:32,990 --> 00:07:36,920 ואכן, זה הבדל עיקרי בין PHP ושפות כמו C ג 163 00:07:36,920 --> 00:07:38,730 הייתה מה שנקרא בשפת הידור. 164 00:07:38,730 --> 00:07:40,929 מה זה אומר עבור C להידור? 165 00:07:40,929 --> 00:07:41,970 מה הייתה המשמעות? 166 00:07:41,970 --> 00:07:42,898 כן. 167 00:07:42,898 --> 00:07:45,220 >> קהל: נכתב אותו לקוד מכונה כך שזה יכול להיות מנוהל על ידי המחשב. 168 00:07:45,220 --> 00:07:46,011 >> 1 SPEAKER: בדיוק. 169 00:07:46,011 --> 00:07:49,075 אנחנו צריכים קודם להמיר אותו ל מה שנקרא קוד מכונה, אפסים ואחדים, 170 00:07:49,075 --> 00:07:51,950 לפני שזה באמת יהיה הפעלה והבין על ידי המחשב. 171 00:07:51,950 --> 00:07:52,840 על ידי אינטל בפנים. 172 00:07:52,840 --> 00:07:54,530 על ידי המעבד הפנימי של המחשב. 173 00:07:54,530 --> 00:07:58,170 PHP, לעומת זאת, הוא מה שנקרא שפה פירשה, ש 174 00:07:58,170 --> 00:08:02,230 אומר שאתה לא לקמפל את זה לאפסים ואחדים, קוד מחשב, 175 00:08:02,230 --> 00:08:04,360 אתה במקום להשאיר אותו כקוד מקור. 176 00:08:04,360 --> 00:08:08,130 ואתה במקום להעביר אותו כקלט לתכנית, מתורגמן 177 00:08:08,130 --> 00:08:11,960 שמישהו כתב אחר לפני שנים שמבין את זה 178 00:08:11,960 --> 00:08:14,310 שורה אחרת שורה, דמות לאופי. 179 00:08:14,310 --> 00:08:16,120 אז במילים אחרות, בני אדם בחוץ כתבו 180 00:08:16,120 --> 00:08:19,670 תכנית שתיראה בשורת הקוד שלך על ידי קו, 181 00:08:19,670 --> 00:08:21,680 ולהבין מה המחשב צריך לעשות, 182 00:08:21,680 --> 00:08:25,960 בלי להמיר אותו ישירות לאפסים ואחדים. 183 00:08:25,960 --> 00:08:28,370 >> אז אם הוא רואה ללולאה, פרשן זה מה שנקרא 184 00:08:28,370 --> 00:08:30,630 הולך להיות כמו, בסדר, אני צריך לעשות משהו שוב ושוב ושוב. 185 00:08:30,630 --> 00:08:31,150 מה אני אמור לעשות? 186 00:08:31,150 --> 00:08:32,159 תן לי להסתכל על השורה הבאה. 187 00:08:32,159 --> 00:08:33,367 תן לי להסתכל על השורה הבאה. 188 00:08:33,367 --> 00:08:35,350 וזה באמת מפרש את זה שורה אחר שורה. 189 00:08:35,350 --> 00:08:37,220 אז כדי לבצע את זה, אני לא משתמש באיפור. 190 00:08:37,220 --> 00:08:39,409 אני לא משתמש בקו נטוי נקודה במקרה זה. 191 00:08:39,409 --> 00:08:43,530 אני במקום לעשות PHP, שהוא השם של תכנית, מוכר גם בשם 192 00:08:43,530 --> 00:08:46,562 מתורגמן, זה מותקן מראש בCS50 IDE, 193 00:08:46,562 --> 00:08:48,770 ועכשיו אני צריך לעבור קו טיעון הפקודה, ש 194 00:08:48,770 --> 00:08:52,290 די פשוט השם קובץ שאני רוצה לפרש. 195 00:08:52,290 --> 00:08:54,740 או יותר כבדרך אגב, שאני רוצה לרוץ. 196 00:08:54,740 --> 00:08:57,000 ואם אני Enter, יש לנו את זה. 197 00:08:57,000 --> 00:08:57,825 שלום עולם. 198 00:08:57,825 --> 00:08:59,950 עכשיו מתברר ש def הדפסה המשומש במכוון 199 00:08:59,950 --> 00:09:01,600 כדי לגשר עלינו מפני C ל- PHP. 200 00:09:01,600 --> 00:09:05,150 רוב מתכנתי PHP, כפי שתראה, אפילו לא טורח באמצעות def הדפסה. 201 00:09:05,150 --> 00:09:08,290 הם פשוט להשתמש בפונקציה בשם הדפסה, שC לא היה. 202 00:09:08,290 --> 00:09:11,390 ואז אם אני להפעיל מחדש את זה עכשיו, זה באמת מתנהג תפקודי זהה. 203 00:09:11,390 --> 00:09:13,730 אני לא יכול להשתמש של אחוזים ואני אחוזים וכן הלאה, 204 00:09:13,730 --> 00:09:16,250 אבל יש דרכים אחרות ב- PHP לעשות את זה. 205 00:09:16,250 --> 00:09:18,100 אבל זה רק ל אומר שבחינה תחבירית, 206 00:09:18,100 --> 00:09:21,850 מלבד כמה דברים מוזרים עד עליון, וכמה דמויות מוזרות למטה 207 00:09:21,850 --> 00:09:25,960 בתחתית, המושגים עכשיו תכנות בשפה אחרת זה 208 00:09:25,960 --> 00:09:27,860 הולך להיות בדיוק אותו הדבר. 209 00:09:27,860 --> 00:09:30,120 >> למעשה, בואו נעשה דוגמא אחת אחרת. 210 00:09:30,120 --> 00:09:32,520 אז אני הולך קדימה וסגור את הקובץ. 211 00:09:32,520 --> 00:09:37,740 תן לי ליצור עוד אחד ש אני אתקשר תנאי 1 הנקודה PHP. 212 00:09:37,740 --> 00:09:40,770 אז לא אפס, כי מה שעשיתי היה הסתכלתי אחורה לפני כמה שבועות, 213 00:09:40,770 --> 00:09:43,490 היו לנו קובץ בשם תנאי הנקודה ג 1 ומה 214 00:09:43,490 --> 00:09:47,590 מה שעשיתי היה להמיר אותו בי ראש, וכאן על נייר, 215 00:09:47,590 --> 00:09:51,290 ובקרוב על המהלך של אתר, שורה אחרת שורה לתוך PHP. 216 00:09:51,290 --> 00:09:55,520 >> אז בגרסת C, שעשינו משהו כמו מחרוזת של מקבל מקבל מחרוזת. 217 00:09:55,520 --> 00:09:58,200 אז זה קצת שונה לעשות את זה ב- PHP. 218 00:09:58,200 --> 00:10:01,390 במקום זאת, אני פשוט הולך לעשות, או לייתר דיוק, אני 219 00:10:01,390 --> 00:10:05,870 n int עלול לעשות מקבל מקבל int, בדוגמא זו קודם לכן. 220 00:10:05,870 --> 00:10:12,600 אז במקום ש, אני הולך לעשות n מקבל לקרוא קו, הייתי רוצה שלם, 221 00:10:12,600 --> 00:10:13,670 אנא. 222 00:10:13,670 --> 00:10:15,110 אז זה רק הפקודה שלי. 223 00:10:15,110 --> 00:10:17,260 וכך מתברר, ו הייתי רק יודע שזה 224 00:10:17,260 --> 00:10:20,480 שמקרא או ראיתי את הפונקציה לפני, לקרוא שורות של פונקציה ב PHP 225 00:10:20,480 --> 00:10:23,810 לוקח טענה שהיא הפקודה לאדם, ומטרתה בחיים 226 00:10:23,810 --> 00:10:26,220 הוא לקרוא שורת טקסט שהוא או היא סוגים ב. 227 00:10:26,220 --> 00:10:29,160 ואז הוא מאחסן ש טקסט לn משתנה. 228 00:10:29,160 --> 00:10:32,200 >> ועכשיו אולי אני רוצה לעשות משהו כמו שאני עשיתי לפני שבועות, בשבוע כמו 229 00:10:32,200 --> 00:10:33,290 אחד מהכיתה. 230 00:10:33,290 --> 00:10:36,600 אם n הוא גדול יותר מ אפס, אז, אני הולך 231 00:10:36,600 --> 00:10:42,930 ללוות תחביר שרק ראינו, def הדפסה, בחרת מספר חיובי, 232 00:10:42,930 --> 00:10:44,360 n קו נטוי. 233 00:10:44,360 --> 00:10:49,990 אחר אם n שווה שווה אפס, אני הולכים קדימה ואומרים, def הדפסה, 234 00:10:49,990 --> 00:10:54,090 בחרת אפס n קו נטוי. 235 00:10:54,090 --> 00:10:56,830 אחר, המקרה כאן צריך כמובן להיות, def הדפסה, 236 00:10:56,830 --> 00:10:58,620 בחרת מספר שלילי. 237 00:10:58,620 --> 00:11:00,970 >> ואנחנו בהחלט יכולים ליישם ההיגיון של הדבר הזה 238 00:11:00,970 --> 00:11:03,390 בחבורה של שונה דרכים, אבל הנקודה כאן 239 00:11:03,390 --> 00:11:07,210 היא שבחינה תחבירית, בקושי שום דבר חדש. 240 00:11:07,210 --> 00:11:09,830 זה רק סימן הדולר ו פונקציה חדשה וקו לקרוא. 241 00:11:09,830 --> 00:11:12,090 אבל ביסודו, מה חדש עכשיו הוא שאני מפרש את זה. 242 00:11:12,090 --> 00:11:13,910 אני מעביר את זה כקלט לתכנית אחרת. 243 00:11:13,910 --> 00:11:16,620 אז אם אני רוצה להפעיל את זה, אם אני לא עשיתי את כל טעויות, 244 00:11:16,620 --> 00:11:20,140 אני הולך להפעיל PHP, של תנאי 1 הנקודה PHP, הזן, 245 00:11:20,140 --> 00:11:23,440 אני הולך להקליד את המספר 50, ובואו נניח לעת עתה זה עובד. 246 00:11:23,440 --> 00:11:25,940 בגלל ההיגיון הוא אותו חומר כשבוע אחד. 247 00:11:25,940 --> 00:11:28,020 >> בסדר, אז זה די משעמם, נכון? 248 00:11:28,020 --> 00:11:30,240 אנחנו יכולים לעשות את זה בכל מספר השפות. 249 00:11:30,240 --> 00:11:33,200 בואו לעשות משהו בדרך חזקה יותר. 250 00:11:33,200 --> 00:11:35,610 בואו בעיה לסיים להגדיר חמש. 251 00:11:35,610 --> 00:11:37,370 אז אני הולך קדימה ולעשות את זה. 252 00:11:37,370 --> 00:11:42,920 אני הולך ליצור קובץ נקרא מילון הנקודה PHP, 253 00:11:42,920 --> 00:11:45,424 ונוטה כפי שאתה יכול להיות כדי לטרוף את המון הערות, 254 00:11:45,424 --> 00:11:47,340 ההערות רק יעזרו לי שלך אם מותר לך 255 00:11:47,340 --> 00:11:48,923 ליישם בעיות להגדיר חמישה ב- PHP. 256 00:11:48,923 --> 00:11:52,706 אבל אנחנו תראו כמה מהר עכשיו אנחנו יכול ליישם אותו סט הבעיה. 257 00:11:52,706 --> 00:11:56,830 >> אז ב- PHP נקודת מילון, אני הולך להניח שיש כבר 258 00:11:56,830 --> 00:11:58,514 קובץ בעולם שנקרא איות. 259 00:11:58,514 --> 00:12:01,430 ואכן, עשיתי את זה מראש, ואנחנו לא הולכים בקו הזה 260 00:12:01,430 --> 00:12:03,596 על ידי קו, אבל אם אתה סקרן רוצה מאוחר יותר ובאמת 261 00:12:03,596 --> 00:12:06,250 לעטוף את דעתך סביב הבדלים בין ג ו- PHP, 262 00:12:06,250 --> 00:12:09,030 ממש להשוות את הקובץ הזה, איות, מקוד המקור של היום 263 00:12:09,030 --> 00:12:11,190 שנפרסם מאוחר יותר היום, נגד קבוצת p 264 00:12:11,190 --> 00:12:15,309 חמש מאית הנקודה ג שאנחנו נותנים לך, וזה כמעט באותו קו על ידי קו. 265 00:12:15,309 --> 00:12:16,600 יש עוד כמה סימני דולר. 266 00:12:16,600 --> 00:12:18,330 כמה פונקציות קצת שונה. 267 00:12:18,330 --> 00:12:20,038 אבל זה דרך נחמדה מסוג של לראות איך 268 00:12:20,038 --> 00:12:22,740 לך לתרגם משפה אחת לאחרת. 269 00:12:22,740 --> 00:12:24,812 וזה קו כמעט זהה לקו. 270 00:12:24,812 --> 00:12:27,770 אבל אני הולך להניח ש קיים, ומה שאני הולך לעשות כאן 271 00:12:27,770 --> 00:12:31,310 הוא מנסה לפוצץ אותך אכפת לי ידי מחדש של 272 00:12:31,310 --> 00:12:36,210 השלמות של בעיה להגדיר חמש דרך מהר יותר ממה שאתה כבר עושה עד כה. 273 00:12:36,210 --> 00:12:39,330 כך למשל, אני הולך ראשון להצהיר על משתנה גלובלי שנקרא גודל, 274 00:12:39,330 --> 00:12:40,444 ולהגדיר אותו שווה לאפס. 275 00:12:40,444 --> 00:12:41,610 עכשיו זה לא הרבה חיסכון. 276 00:12:41,610 --> 00:12:44,170 סיכויים מיושמים גודל פחות או יותר אותו הדבר, 277 00:12:44,170 --> 00:12:48,440 או רמז רמז, יהיה הלילה או מחר, רק באמצעות משתנה גלובלי שנקראו 278 00:12:48,440 --> 00:12:49,900 גודל, והגדרת אותו שווה לאפס. 279 00:12:49,900 --> 00:12:52,660 זה לא במיוחד ספוילר המדהים. 280 00:12:52,660 --> 00:12:57,180 >> אז מה היו הנתונים שלך מבנים של בחירה, אלה מכם שצללו ב 281 00:12:57,180 --> 00:13:02,170 ולקרוא את המפרט, מבני נתונים מה רובכם כבר משתמשים? 282 00:13:02,170 --> 00:13:06,840 שולחן או חשיש לנסות, אולי כמה גרסאות שלה. 283 00:13:06,840 --> 00:13:10,490 אז יישום שולחן חשיש לפחות, הוא סוג של הרבה שורות קוד, 284 00:13:10,490 --> 00:13:10,990 נכון? 285 00:13:10,990 --> 00:13:13,700 ולא כולם יכול להיות פונקציונלי בנקודה בשבוע זה, 286 00:13:13,700 --> 00:13:14,366 אבל זה בסדר. 287 00:13:14,366 --> 00:13:19,300 משום ב- PHP, אם אני רוצה שולחן חשיש, עשה. 288 00:13:19,300 --> 00:13:20,260 נכון? 289 00:13:20,260 --> 00:13:22,610 כך שמשתנה שיש לי רק מוצהר הוא ברור 290 00:13:22,610 --> 00:13:26,180 נקרא שולחן סימן דולר, להקדמה לפני. 291 00:13:26,180 --> 00:13:28,902 >> אבל אני באמת רק רוצה, ב סופו של היום, מערך. 292 00:13:28,902 --> 00:13:31,610 אבל לא באינדקס מספרי מערך, כי זה כמו שבוע שני 293 00:13:31,610 --> 00:13:33,440 דברים, כשדיברנו על מערכים. 294 00:13:33,440 --> 00:13:34,850 אני רוצה שולחן חשיש. 295 00:13:34,850 --> 00:13:38,070 אבל טבלת חשיש היא באמת רק דרך בטון לומר, 296 00:13:38,070 --> 00:13:40,190 אתה רוצה מערך אסוציאטיבי. 297 00:13:40,190 --> 00:13:43,270 אתה רוצה להיות מסוגל מפתחות לקשר עם ערכים. 298 00:13:43,270 --> 00:13:44,200 מפתחות עם ערכים. 299 00:13:44,200 --> 00:13:45,640 מה הוא מילון, באמת? 300 00:13:45,640 --> 00:13:47,080 ובכן זה צרור מפתחות כולה. 301 00:13:47,080 --> 00:13:50,320 מילות כמו תפוח, אגס, בננה ו, וכל מילות באנגלית אלה 302 00:13:50,320 --> 00:13:51,490 שאנחנו מוסרים לך. 303 00:13:51,490 --> 00:13:54,820 >> והערכים שאתה ביעילות הוספה למילון שלך 304 00:13:54,820 --> 00:13:57,790 הם או אמיתיים, או היעדר, שקר. 305 00:13:57,790 --> 00:14:00,540 במילים אחרות אתה מכניס חבורה של זוגות ערך מפתח שלמה, 306 00:14:00,540 --> 00:14:03,720 תפוח, אמיתית, אגס, אמיתית, בננה, אמיתי. 307 00:14:03,720 --> 00:14:07,446 כך שכאשר אתה לאחזר או לחפש את הנתונים שבטבלת החשיש שלך 308 00:14:07,446 --> 00:14:10,070 עם פונקצית הבדיקה שלך, אתה גם מקבל בחזרה תשובה, 309 00:14:10,070 --> 00:14:13,260 כן, מצאתי את זה במתחם שלי חשיש שולחן, או לא, זה לא שם, 310 00:14:13,260 --> 00:14:14,540 כך אתה חוזר שווא. 311 00:14:14,540 --> 00:14:19,440 >> אז כדי לעשות את זה, כל מה שאני צריך זה את הנתונים מבנה כמו שהצעתי לפני. 312 00:14:19,440 --> 00:14:22,050 אני רק צריך להיות מסוגל לשייך מילות 313 00:14:22,050 --> 00:14:25,570 כמו, ציטוט סוף ציטוט, סמל, עם ערך כמו, אמיתי. 314 00:14:25,570 --> 00:14:27,090 אז יש טבלת החשיש שלי. 315 00:14:27,090 --> 00:14:28,180 בואו בעצם להשתמש בו. 316 00:14:28,180 --> 00:14:30,310 אז יש כמה פונקציות אני צריך ליישם. 317 00:14:30,310 --> 00:14:33,300 אני הולך קדימה ולנשוך את גודל פונקציה שנקראת. 318 00:14:33,300 --> 00:14:34,390 זה לא לוקח ארגומנטים. 319 00:14:34,390 --> 00:14:36,660 אני לא צריך לטרוח עם המילה, חלל, ב- PHP. 320 00:14:36,660 --> 00:14:38,770 אני פשוט הולך לגודל לחזור. 321 00:14:38,770 --> 00:14:41,287 >> וכמו בצד, יש PHP פירוט minorly זה מעצבן, 322 00:14:41,287 --> 00:14:44,620 שבו אם משהו לא גלובלי, שיש לך לספר את הפונקציה שבה אתה משתמש 323 00:14:44,620 --> 00:14:46,220 זה, היי, זה משתנה גלובלי. 324 00:14:46,220 --> 00:14:49,330 אז, טיפשות קטין, אבל אתה צריך לעשות את זה בכל זאת. 325 00:14:49,330 --> 00:14:50,920 >> אז מה לגבי עומס? 326 00:14:50,920 --> 00:14:52,990 אני הולך ליישם פונקציה שנקראת עומס 327 00:14:52,990 --> 00:14:56,790 שלוקח בשם מילון, בדיוק כמו בבעיה להגדיר חמש. 328 00:14:56,790 --> 00:14:59,554 ולפני שאמשיך, שם לב שיש לי לא 329 00:14:59,554 --> 00:15:00,970 כבר הקלדה בדיוק אותו דבר הדברים. 330 00:15:00,970 --> 00:15:06,060 מה שונה כמובן בPHP על איך אתה מצהיר על פונקציה לעומת C? 331 00:15:06,060 --> 00:15:06,616 כן. 332 00:15:06,616 --> 00:15:07,490 קהל: [לא ברור] 333 00:15:07,490 --> 00:15:08,573 1 SPEAKER: לא סוג תמורה. 334 00:15:08,573 --> 00:15:12,350 ואכן, זה המקרה, PHP ככל שזה הוקלד באופן רופף, 335 00:15:12,350 --> 00:15:14,190 גם קצת מרושל במובן זה. 336 00:15:14,190 --> 00:15:17,680 אתה לא תציין כמתכנת מה הפונקציה תחזיר. 337 00:15:17,680 --> 00:15:20,490 היית צריך להסתכל למעשה בקוד כדי להבין את זה. 338 00:15:20,490 --> 00:15:22,670 או לקרוא את התגובות או התיעוד. 339 00:15:22,670 --> 00:15:24,870 אז יתרונות וחסרונות של סוגים אלה של החלטות. 340 00:15:24,870 --> 00:15:26,750 אבל אני חייב לומר מילת המפתח, פונקציה. 341 00:15:26,750 --> 00:15:28,360 וכאשר אנו לומדים JavaScript בכמה שבועות 342 00:15:28,360 --> 00:15:31,026 אנחנו הולכים לראות את אותו הדבר שוב, אבל זה אותו הרעיון. 343 00:15:31,026 --> 00:15:34,220 שם הפונקציה, הטיעון שלה או טענות או היעדרה, ועכשיו 344 00:15:34,220 --> 00:15:35,630 כאן הוא היישום. 345 00:15:35,630 --> 00:15:38,860 >> אז אני הולך לחתוך כמה פינות רק להיות דרמטי לרגע. 346 00:15:38,860 --> 00:15:40,485 אבל אני הולך קדימה ואומר את זה. 347 00:15:40,485 --> 00:15:44,890 כך אני יכול לטעון קובץ לתוך מערך. 348 00:15:44,890 --> 00:15:47,580 יש פונקציה ב PHP בשם קובץ. 349 00:15:47,580 --> 00:15:49,300 אתה תמסור לו את השם של קובץ. 350 00:15:49,300 --> 00:15:53,950 זה נותן לך בחזרה מערך, בתוך שבם היא כל שורה מהקובץ. 351 00:15:53,950 --> 00:15:56,480 מאפס, אחד, על עד לn מינוס 1 קווים. 352 00:15:56,480 --> 00:15:57,210 זהו זה, נכון? 353 00:15:57,210 --> 00:15:57,990 אין קריאת f. 354 00:15:57,990 --> 00:15:58,826 אין זה גט ו. 355 00:15:58,826 --> 00:15:59,700 אין ים אחוזים. 356 00:15:59,700 --> 00:16:00,420 אין כאבי ראש. 357 00:16:00,420 --> 00:16:01,220 אין feof. 358 00:16:01,220 --> 00:16:03,950 כל דברים שבי אתה כבר נאבק אולי, 359 00:16:03,950 --> 00:16:06,550 עם p להגדיר ארבעה וחמש, הולך משם. 360 00:16:06,550 --> 00:16:09,450 >> אז אני פשוט לקרוא את השורות הללו ל הקובץ, ואז אתה יודע מה? 361 00:16:09,450 --> 00:16:15,510 אם אני רוצה לחזר על המילים האלה, אני יכול לעשות, עבור כל קווים כקו. 362 00:16:15,510 --> 00:16:19,992 זכור כי זה היה סוג של חכם דרך של iterating על מערך, מדד 363 00:16:19,992 --> 00:16:25,090 במדד, ועל כל שיחות איטרציה הקו הנוכחי, קו סימן דולר. 364 00:16:25,090 --> 00:16:31,560 וכאן אני הולך ו אומרים שולחן, התושבת, קו, מקבלת אמיתית. 365 00:16:31,560 --> 00:16:35,880 >> במילים אחרות, זה איך אני להכניס לתוך טבלת החשיש ב- PHP. 366 00:16:35,880 --> 00:16:38,740 אני אומר שולחן סימן דולר, ש הוא המערך האסוציאטיבי שלי שהיה 367 00:16:38,740 --> 00:16:40,690 ריק לשורת קוד למעלה. 368 00:16:40,690 --> 00:16:42,790 אז מדד לתוכו לא, שימוש במספר, 369 00:16:42,790 --> 00:16:45,300 אבל באמצעות פשוטו כמשמעו מילת המפתח שאכפת לי. 370 00:16:45,300 --> 00:16:47,730 אולי זה תפוח או אגס או בננה או מה, 371 00:16:47,730 --> 00:16:51,645 אבל במיוחד אני אינדקס לזה רוצה שהצעתי קודם לכן. 372 00:16:51,645 --> 00:16:53,770 אני לוקח את השם שלי מערך אסוציאטיבי, ולאחר מכן אני 373 00:16:53,770 --> 00:16:56,450 להשתמש סוף ציטוט ציטוט ב סוגריים מרובעים עם מחרוזת, 374 00:16:56,450 --> 00:16:58,490 במקום מספר אמיתי. 375 00:16:58,490 --> 00:17:00,250 >> ואז זה זה. 376 00:17:00,250 --> 00:17:01,720 פונקצית העומס נעשה. 377 00:17:01,720 --> 00:17:05,119 ברגע שסובב לולאה, שמתי הכל לשולחן החשיש. 378 00:17:05,119 --> 00:17:07,810 עכשיו כתב ויתור קטן, יש כמה דברים שאני צריך לעשות כדי לתקן. 379 00:17:07,810 --> 00:17:10,030 והגרסה אני מתכוון לכתוב באינטרנט יצטרך כל הניואנסים, 380 00:17:10,030 --> 00:17:12,670 אבל זה בעיקר רק הולך להיות כמה בדיקת שגיאות וכמה תיקונים קלים. 381 00:17:12,670 --> 00:17:14,044 אבל זה אכן התמצית של זה. 382 00:17:14,044 --> 00:17:16,750 אם אני עכשיו רוצה ליישם הפונקציה שנקראת 383 00:17:16,750 --> 00:17:19,869 לבדוק, שמצפה מילה כטענתה, 384 00:17:19,869 --> 00:17:22,099 איך אני יכול ללכת על עושה את זה? 385 00:17:22,099 --> 00:17:30,020 ובכן, אני פשוט הולך להגיד, אם בתוך השולחן שלי, במילה מיקום, 386 00:17:30,020 --> 00:17:30,652 אם מוגדר. 387 00:17:30,652 --> 00:17:32,360 אז אם יש הוא-- למעשה, אתה יודע מה? 388 00:17:32,360 --> 00:17:34,830 אני הולך לעשות את זה ב קצת פסאודו קוד. 389 00:17:34,830 --> 00:17:36,020 אבל הרעיון הוא אותו. 390 00:17:36,020 --> 00:17:41,640 אם זה שווה אמיתי, לחזור אמיתי. 391 00:17:41,640 --> 00:17:43,890 בסדר. 392 00:17:43,890 --> 00:17:46,851 Else-- אתה יכול לראות סוג של שם זה going-- לחזור שווא. 393 00:17:46,851 --> 00:17:47,350 בוצע. 394 00:17:47,350 --> 00:17:49,640 צ'ק נעשה. 395 00:17:49,640 --> 00:17:50,940 >> די נחמד, נכון? 396 00:17:50,940 --> 00:17:52,560 ואז מה זה באמת חותר? 397 00:17:52,560 --> 00:17:53,680 וגם זה, אני חותך כמה פינות. 398 00:17:53,680 --> 00:17:56,020 תראה את הגרסה מקוונת לכל הניואנסים קלים. 399 00:17:56,020 --> 00:17:57,103 אבל זה התמצית שלו. 400 00:17:57,103 --> 00:17:59,080 מדד לך מערך אסוציאטיבי, מוכר גם בשם 401 00:17:59,080 --> 00:18:02,910 שולחן חשיש, לראות אם יש ערך שם, אם זה מוגדר נכון, ואם כן, 402 00:18:02,910 --> 00:18:03,930 לחזור אמיתי. 403 00:18:03,930 --> 00:18:05,819 אז יש לנו נותרנו בי כל המורכבות. 404 00:18:05,819 --> 00:18:07,110 אז סוג של המוח נושבת, נכון? 405 00:18:07,110 --> 00:18:09,680 אני לא אטרח לסיים אותו עם לפרוק, כי בfact-- הו, אתה יודע מה? 406 00:18:09,680 --> 00:18:11,620 כן, בואו נסיים את זה עם לפרוק. 407 00:18:11,620 --> 00:18:18,940 >> לפרוק בטבלת חשיש עשוי להיראות כמו לפרוק פונקציה, לחזור. 408 00:18:18,940 --> 00:18:19,930 אישור אז זה לפרוק. 409 00:18:19,930 --> 00:18:21,350 כי אין דבר לפרוק, נכון? 410 00:18:21,350 --> 00:18:22,170 אין malloc. 411 00:18:22,170 --> 00:18:24,280 אני במפורש לא בקשתי מערכת הפעלה לכל דבר. 412 00:18:24,280 --> 00:18:25,571 אני רק התחלתי להשתמש משתנים. 413 00:18:25,571 --> 00:18:30,510 וכך זה גם הוא ביטוי של תכונות של שפות ברמה גבוהות יותר. 414 00:18:30,510 --> 00:18:32,940 אז שוב, רוב המונח זה אנחנו כבר עוסקים כאן למטה 415 00:18:32,940 --> 00:18:34,280 עם רמת סופר הנמוכה ג. 416 00:18:34,280 --> 00:18:35,980 אתה יכול לראות את הזיכרון של המחשב. 417 00:18:35,980 --> 00:18:38,440 אתה יכול לגעת בשום דבר ש רוצה בזכרון RAM של המחשב שלך, 418 00:18:38,440 --> 00:18:39,440 לטוב או לרע. 419 00:18:39,440 --> 00:18:41,760 >> עד כאן, אנחנו הולכים לוותר על הכח הזה. 420 00:18:41,760 --> 00:18:44,730 אבל אלוהים שלי, תראה איך הרבה פחות קוד שכתבתי. 421 00:18:44,730 --> 00:18:47,660 למעשה, אם אני לא מדבר ומדבר על ההקלדה שלי, 422 00:18:47,660 --> 00:18:50,190 היינו נעשה עם דוגמא זו לפני חמש דקות. 423 00:18:50,190 --> 00:18:52,150 אז מה המחיר ששלם? 424 00:18:52,150 --> 00:18:54,100 ובכן בואו נסתכל. 425 00:18:54,100 --> 00:18:55,340 בואו נסתכל. 426 00:18:55,340 --> 00:18:59,340 אני הולך קדימה ולהפעיל CS50. 427 00:18:59,340 --> 00:19:02,160 תן לי ללכת ראשון ל דוגמאות של היום שבי 428 00:19:02,160 --> 00:19:03,970 יש לי ספריית טקסטים כמו קודם. 429 00:19:03,970 --> 00:19:08,520 אני הולך להפעיל את הפתרון ש הוא מגיע עם הבעיה להגדיר חמש נקרא 430 00:19:08,520 --> 00:19:11,190 איות, שנמצא בחשבון של CS50. 431 00:19:11,190 --> 00:19:14,040 >> ואני הולך להפעיל אותו במשהו גדול כמו המלך ג'יימס התנ"ך, 432 00:19:14,040 --> 00:19:16,547 רק כדי שאנחנו באמת לשים את פתרונות צוות לבדיקה. 433 00:19:16,547 --> 00:19:19,130 עכשיו לפעמים האינטרנט של מעט איטי יותר, קצת יותר מהר, 434 00:19:19,130 --> 00:19:20,338 עשוי להימשך זמן מה כדי לגלול. 435 00:19:20,338 --> 00:19:23,730 אבל זה לקח בסך הכל 56 שניות לבדיקת איות ג'יימס המלך 436 00:19:23,730 --> 00:19:25,150 התנ"ך באמצעות פתרון צוות. 437 00:19:25,150 --> 00:19:25,620 אז די טוב. 438 00:19:25,620 --> 00:19:27,786 שלך יכול להיות הרבה יותר איטי, וזה לגמרי בסדר. 439 00:19:27,786 --> 00:19:30,090 אבל זה נכון כאן. 440 00:19:30,090 --> 00:19:32,440 אז זה פתרון צוות. 441 00:19:32,440 --> 00:19:34,785 אם אני הולך ובלנקות את גרסת PHP. 442 00:19:34,785 --> 00:19:36,990 ואני הולך לעשות קצת כמו דבר תכנית האפייה. 443 00:19:36,990 --> 00:19:39,720 אנחנו הולכים לקחת את הקוד שכתבתי מוקדם יותר, כך שזה נכון באופן מושלם. 444 00:19:39,720 --> 00:19:42,678 בגלל הקוד שכתבתי לא הולך להיות נכון באופן מושלם רק עכשיו. 445 00:19:42,678 --> 00:19:47,310 אבל אם אני מפעיל את גרסת PHP, מה אני צריך לוותר על היום? 446 00:19:47,310 --> 00:19:49,980 לקח לי חמש דקות ל ליישם עמ להגדיר חמש, אני טוען. 447 00:19:49,980 --> 00:19:51,770 מה המחיר ששלמתי? 448 00:19:51,770 --> 00:19:52,270 כן. 449 00:19:52,270 --> 00:19:52,937 >> קהל: מהירות. 450 00:19:52,937 --> 00:19:53,645 SPEAKER 1: מהירות. 451 00:19:53,645 --> 00:19:54,380 למה אתה מתכוון? 452 00:19:54,380 --> 00:19:55,230 >> קהל: זה הולך לקחת זמן רב יותר. 453 00:19:55,230 --> 00:19:55,660 >> 1 SPEAKER: בסדר. 454 00:19:55,660 --> 00:19:56,160 בוא נראה. 455 00:19:56,160 --> 00:19:59,590 זה הולך לקחת זמן רב יותר, לא לכתוב, אבל כדי להפעיל אותו. 456 00:19:59,590 --> 00:20:00,090 כן. 457 00:20:00,090 --> 00:20:00,960 אז בואו ננסה את זה. 458 00:20:00,960 --> 00:20:05,720 אז הנה אני הולך קדימה ולעשות PHP של איות, ומכיוון שהקובץ של 459 00:20:05,720 --> 00:20:06,360 נקרא איות. 460 00:20:06,360 --> 00:20:07,580 אז אני לא פועל מילון, כזכור, 461 00:20:07,580 --> 00:20:09,204 אני מפעיל את התכנית בשם איות. 462 00:20:09,204 --> 00:20:12,450 אני הולך לעבור באותו קובץ, המלך ג'יימס החמישי. 463 00:20:12,450 --> 00:20:14,377 זה עף על ידי. 464 00:20:14,377 --> 00:20:17,210 זה רק יכול להיות מהירות אינטרנט, אז אל קוראים יותר מדי לתוך זה. 465 00:20:17,210 --> 00:20:21,680 אבל זה מרגיש יותר בטוח. 466 00:20:21,680 --> 00:20:23,280 1.26 שניות. 467 00:20:23,280 --> 00:20:25,150 >> עכשיו זה עדיין די מהר לעזאזל, נכון? 468 00:20:25,150 --> 00:20:28,140 והסיבה היחידה שהרגישה כמו יותר כמו שלוש, או ארבעה, או חמש 469 00:20:28,140 --> 00:20:30,515 שניות, זה רק בגלל ש האינטרנט היה להיות איטי. 470 00:20:30,515 --> 00:20:33,980 זמן המחשב בילה היה 1.26 שניות, לעומת 0.56 אני חושב. 471 00:20:33,980 --> 00:20:35,880 אז יותר מפי שתיים איטיים. 472 00:20:35,880 --> 00:20:39,170 עכשיו זה עדיין די לתקן מהר, אבל זה ביטוי 473 00:20:39,170 --> 00:20:40,860 של, אכן, שמחיר מדויק. 474 00:20:40,860 --> 00:20:43,460 >> בגלל שאנחנו מפרשים בשורת הקוד על ידי קו, 475 00:20:43,460 --> 00:20:46,740 ושPHP תכנית קריאה שלי ראש קוד למטה, משמאל לימין, 476 00:20:46,740 --> 00:20:47,940 יש לו לעשות יותר חשיבה. 477 00:20:47,940 --> 00:20:50,430 זה חייב להמיר סוג של זה בתוך עצמו 478 00:20:50,430 --> 00:20:53,464 למכונה המקבילה קוד על לטוס, כביכול, 479 00:20:53,464 --> 00:20:55,380 למרות המכניקה הם קצת שונים. 480 00:20:55,380 --> 00:20:59,430 במקום רק האכלה ל אינטל מעבד האפסים ואחדים גלם 481 00:20:59,430 --> 00:21:00,930 שהוא מבין באופן מקורי. 482 00:21:00,930 --> 00:21:04,110 >> אז בהחלט, ידיים למטה, יש לנו שילמנו מחיר. 483 00:21:04,110 --> 00:21:09,120 וקוד שנכתב בשפה כמו PHP נוטה להיות איטי יותר. 484 00:21:09,120 --> 00:21:10,050 אבל אלוהים שלי. 485 00:21:10,050 --> 00:21:12,740 אז עכשיו כשאני בדיקת איות שלי קובץ, אני מבלה 0.7 נוספים 486 00:21:12,740 --> 00:21:17,280 או אז שניות לעומת 20 שעות ליישום מהר spell checker, נכון? 487 00:21:17,280 --> 00:21:18,397 זה סוג של סחר מ. 488 00:21:18,397 --> 00:21:20,980 ואם אתה רק מתחיל עמ ' להגדיר חמש, לא יכול להיות 20 שעות. 489 00:21:20,980 --> 00:21:22,188 יכול להיות הרבה פחות מזה. 490 00:21:22,188 --> 00:21:23,600 אבל זה מסחר מחוץ, לאמיתי. 491 00:21:23,600 --> 00:21:27,820 ואם אתה מפעיל קוד על גדול באמת ערכות נתונים, או בחומרה אפילו מבוגרת, 492 00:21:27,820 --> 00:21:32,650 אלו סוגים של הבדלים בהחלט יכול להוסיף עד. 493 00:21:32,650 --> 00:21:34,880 >> כל שאלות עד כה? 494 00:21:34,880 --> 00:21:35,617 כן. 495 00:21:35,617 --> 00:21:36,492 >> קהל: [לא ברור] 496 00:21:36,492 --> 00:21:38,187 497 00:21:38,187 --> 00:21:39,978 1 SPEAKER: מצטער, יכול אתה אומר את זה עוד פעם? 498 00:21:39,978 --> 00:21:40,853 קהל: [לא ברור] 499 00:21:40,853 --> 00:21:43,326 500 00:21:43,326 --> 00:21:44,700 1 דובר: אתה מוותר על זמן. 501 00:21:44,700 --> 00:21:45,283 ובכן, אז כן. 502 00:21:45,283 --> 00:21:47,322 אתה חוסך זמן על ידי שלא יצטרך לעבד אותו, 503 00:21:47,322 --> 00:21:48,530 אם זה מה שאתה שואל. 504 00:21:48,530 --> 00:21:50,710 ואכן, בCS50, רוב התוכניות, 505 00:21:50,710 --> 00:21:53,668 למרות שהם עשויים להימשך זמן כדי לכתוב, הם קצרים יחסית. 506 00:21:53,668 --> 00:21:56,860 כמה עשרות, כמה מאות שורות של קוד, ואז הם לקמפל די מהר. 507 00:21:56,860 --> 00:21:58,470 אבל כשאתה מתחיל כתיבת תוכניות גדולות יותר, 508 00:21:58,470 --> 00:22:01,511 כמו אם אתה מיקרוסופט או שאתה גוגל ותוכניות גדולות באמת כתיבה 509 00:22:01,511 --> 00:22:05,360 ב- C, או C ++, או הידור דומה שפות, יכולות לקחת שניות רבות, 510 00:22:05,360 --> 00:22:08,577 או אפילו דקות או יותר ל לקמפל מ'שורות קוד. 511 00:22:08,577 --> 00:22:10,660 וגם שם, ש הבדל הולך להוסיף למעלה. 512 00:22:10,660 --> 00:22:12,840 >> ואכן, ברגע שאנחנו היום מעבר, באותו יום 513 00:22:12,840 --> 00:22:15,910 היום, לתכנות אינטרנט באמצעות PHP, אתה 514 00:22:15,910 --> 00:22:18,460 הולך למצוא את זה כל כך הרבה יותר מהנה לכתוב קוד 515 00:22:18,460 --> 00:22:21,501 כאשר אתה לא צריך לעשות מטופש האלה צעדים כמו שינוי למסוף שלך 516 00:22:21,501 --> 00:22:24,202 חלון, איפור סוג שלום, מחדש להפעיל אותו, לטעון מחדש את החלון. 517 00:22:24,202 --> 00:22:25,910 פשוט כל כך הרבה טיפשים צעדים מכאניים ש 518 00:22:25,910 --> 00:22:28,480 רק לקבל בדרך של עשייה , העבודה המהנה מעניינת. 519 00:22:28,480 --> 00:22:31,450 ואכן אנו לזרוק את זה עם PHP. 520 00:22:31,450 --> 00:22:34,960 ואנחנו יכולים לקיים אינטראקציה עם זה במהירות רבה יותר. 521 00:22:34,960 --> 00:22:35,495 כן. 522 00:22:35,495 --> 00:22:36,370 קהל: [לא ברור] 523 00:22:36,370 --> 00:22:40,294 524 00:22:40,294 --> 00:22:40,960 SPEAKER 1: בטח. 525 00:22:40,960 --> 00:22:42,876 האם אני יכול להבהיר מה זה הפירוש להתפרש? 526 00:22:42,876 --> 00:22:45,870 כאשר אתה לקמפל שפה כמו C, הוא יורד 527 00:22:45,870 --> 00:22:48,140 כפי שאמרנו למכונה קוד, אפסים ואחדים. 528 00:22:48,140 --> 00:22:51,860 ואינטל החליטה לפני שנים ש דפוסים מסוימים של אפסים ואחדים 529 00:22:51,860 --> 00:22:56,220 מייצג בנוסף, או חיסור, או הדפסה, או פעולות בסיסיות אחרות. 530 00:22:56,220 --> 00:23:00,250 בעולם של שפה פירשה כמו PHP, או JavaScript, או Python, 531 00:23:00,250 --> 00:23:03,120 או רובי, או צרורות אחרים, במקום מישהו 532 00:23:03,120 --> 00:23:05,120 כתב interpreter-- במקרה זה, 533 00:23:05,120 --> 00:23:09,770 זה נקרא גם PHP, זהה ל שמו של language-- שבעצם 534 00:23:09,770 --> 00:23:13,840 יש לולאה גדולה בזה שסובב על כל הקווים של הקוד 535 00:23:13,840 --> 00:23:18,170 שאני מאכיל אותו כקלט, כמו שלום נקודת PHP, או נקודת מילון PHP. 536 00:23:18,170 --> 00:23:21,760 >> ואז אתה יכול לחשוב עליהם גדול לולאה כמו שיש הרבה תנאים. 537 00:23:21,760 --> 00:23:26,340 ותנאים אלה אומרים, אם אדם כתב את מילת המפתח ל, 538 00:23:26,340 --> 00:23:28,470 להתחיל לעשות או שלה קוד שוב ושוב. 539 00:23:28,470 --> 00:23:31,360 או אם האדם יש נכתב שורת קוד, 540 00:23:31,360 --> 00:23:34,880 אם, רק לבצעם השורה הבאה על תנאי. 541 00:23:34,880 --> 00:23:37,740 אז זה באמת כמו פרשנות זה במובן מסוים, קו אנושי 542 00:23:37,740 --> 00:23:39,660 על ידי קו, ושפשוט לוקח זמן. 543 00:23:39,660 --> 00:23:41,340 זה לוקח מעל. 544 00:23:41,340 --> 00:23:44,189 ואז זה price-- טוב אנחנו question-- לשלם. 545 00:23:44,189 --> 00:23:46,480 אז בואו לעשות הדגמה נוספת זה קצת יותר דרמטי. 546 00:23:46,480 --> 00:23:51,160 יש, הייתי אומר, אצטדיון הזה ב הסתברות של 90% של אי להחריד, 547 00:23:51,160 --> 00:23:53,869 אבל אתה תהיה מופתע בהסתברות של 10%. 548 00:23:53,869 --> 00:23:55,660 אז בכל שנה אנחנו מנסים כדי לעשות זאת, לפי ש 549 00:23:55,660 --> 00:23:59,061 מנסה לכתוב תכנית שעוברת בעיה להגדיר אפס, שיש לך 550 00:23:59,061 --> 00:24:02,060 מספרי הטלפון והגישו הרבה מידע דמוגרפי אחר, 551 00:24:02,060 --> 00:24:06,030 ואנחנו תכנותיים לשלוח לך הודעת טקסט. 552 00:24:06,030 --> 00:24:08,540 ואז טלפון של כולם מתחיל לצפצף או רוטט, 553 00:24:08,540 --> 00:24:11,460 וזה פשוט מדהים, כי טוב, להסתכל על מה שמחשבים יכולים לעשות. 554 00:24:11,460 --> 00:24:13,840 >> זה רק לעתים נדירות פועל כראוי נראה, בחלקם גדול 555 00:24:13,840 --> 00:24:16,800 כי אני בדרך כלל מקבל ברשימה שחורה על ידי Gmail או שירות אחר 556 00:24:16,800 --> 00:24:19,630 לבעצם מנסה לעשות את זה בקנה מידה. 557 00:24:19,630 --> 00:24:24,940 אבל דבר מצחיק הוא גם, מאז ש לא לכולם יש כאן היום, 558 00:24:24,940 --> 00:24:27,690 עובדה כיף לנו בפעם האחרונה ניסיתי את זה לפני שנתיים, 559 00:24:27,690 --> 00:24:30,870 אני חושב שאני כתבתי תכנית שישב בiterating לולאה 560 00:24:30,870 --> 00:24:34,040 על כל התלמידים בכיתה, וכל אחד מהם הודעת טקסט, 561 00:24:34,040 --> 00:24:37,534 וזה אמר משהו כמו, למה אתה לא בהרצאה? 562 00:24:37,534 --> 00:24:39,170 אוהב, בוט CS50. 563 00:24:39,170 --> 00:24:42,580 >> אין לך מושג כמה מתנצל ומייל סוג של כאב 564 00:24:42,580 --> 00:24:46,970 אני כבר קיבלתי בתגובה מ n מינוס 100 אנשים שלא היו כאן 565 00:24:46,970 --> 00:24:47,960 היום ההוא. 566 00:24:47,960 --> 00:24:52,116 ואפילו מצחיק story--, מביש יותר אתה יודע, בוא לשים את זה שם. 567 00:24:52,116 --> 00:24:53,740 זה כבר בוידאו לפני כמה שנים. 568 00:24:53,740 --> 00:24:56,810 אז בקרוב תוכל לראות אותי לכתוב ללולאה, לפיה 569 00:24:56,810 --> 00:25:00,640 זה קל מאוד לכתוב באג שב ללולאה שהפעם הראשונה כגון, 570 00:25:00,640 --> 00:25:02,800 דרך הלולאה, אתה לשלוח הודעת טקסט אחת. 571 00:25:02,800 --> 00:25:06,190 >> בפעם השנייה דרכי הלולאה היה צריך לשלוח את הודעת טקסט אחת נוספת, 572 00:25:06,190 --> 00:25:08,250 ולאחר מכן טקסט אחד יותר הודעה, ועוד אחד. 573 00:25:08,250 --> 00:25:11,490 אבל מתברר אם אתה עושה טעות דפוס בעת תכנות לפעמים, אתה 574 00:25:11,490 --> 00:25:14,460 יכול לכתוב תוכניות ששולחות אחד הודעת טקסט, ולאחר מכן שתי הודעות טקסט, 575 00:25:14,460 --> 00:25:18,742 אז שלוש הודעות טקסט לכולם שכבר קיבל הודעת טקסט. 576 00:25:18,742 --> 00:25:21,450 וכמו שאתה יודע, לעשות משהו, בתוספת משהו, בתוספת משהו, 577 00:25:21,450 --> 00:25:25,910 בתוספת משהו, הוא O הגדול של הרבה של הודעות טקסט, או n בריבוע, 578 00:25:25,910 --> 00:25:29,830 או 0.10 $ להודעת טקסט, 20,000 $. 579 00:25:29,830 --> 00:25:33,700 >> למרבה המזל אני מכה בקרה-C לפני ש קרה, אבל אני לא חייב לפחות אחד 580 00:25:33,700 --> 00:25:37,550 קודמיך 20 $ עבור 200 כמה הודעות טקסט מוזרות ש, 581 00:25:37,550 --> 00:25:40,450 לא רק הלך לטלפון שלו, אבל גם זה היה כמו להעיף טלפון ישן יותר 582 00:25:40,450 --> 00:25:43,520 כך שדחף את רוצה ממנו זיכרון כל טקסט אישי אחר 583 00:25:43,520 --> 00:25:45,930 מסר שהוא קיבל בפועל. 584 00:25:45,930 --> 00:25:49,250 אז יש לנו מטרה אחת היום, לא לעשות את זה. 585 00:25:49,250 --> 00:25:50,620 אולי להפעיל מצב טיסה. 586 00:25:50,620 --> 00:25:51,120 בסדר. 587 00:25:51,120 --> 00:25:56,590 אז בואו נלך ל תכנית כאן callled-- 588 00:25:56,590 --> 00:25:59,060 שאני אקרא טקסט נקודת PHP. 589 00:25:59,060 --> 00:26:01,074 ומראש, יש לי שני קבצים כאן. 590 00:26:01,074 --> 00:26:06,030 אני עשיתי את קובץ רק צוות, שיש לי כל המידע של צוות, כל השמות 591 00:26:06,030 --> 00:26:07,260 מהאתר האינטרנט של הקורס. 592 00:26:07,260 --> 00:26:09,756 ואז לעת עתה אני פשוט לשים כמה מספרים מזויפים 555-1212. 593 00:26:09,756 --> 00:26:11,380 אז אלה לא ממש הולכים לשום מקום. 594 00:26:11,380 --> 00:26:15,140 אבל שים לב לחלק הפנימי של קובץ CSV זה, שדברנו על בקצרה לפני 595 00:26:15,140 --> 00:26:16,540 בהקשר של קובץ IO. 596 00:26:16,540 --> 00:26:18,730 >> מה קובץ CSV? 597 00:26:18,730 --> 00:26:19,970 מופרד בפסיקים משתנים. 598 00:26:19,970 --> 00:26:24,400 וזה כמו סוג של מאוד מסד הנתונים קלים, אם תרצה. 599 00:26:24,400 --> 00:26:28,650 יש סוג של סוג של ארבע עמודות בקובץ זה, ויש משונן, 600 00:26:28,650 --> 00:26:32,400 אבל בעצם הפסיקים מייצג עמודות בקובץ. 601 00:26:32,400 --> 00:26:35,400 העמודה הראשונה היא TF או את שמו של CA. 602 00:26:35,400 --> 00:26:37,800 עמודה שנייה היא שם המשפחה שלהם. 603 00:26:37,800 --> 00:26:39,820 עמודה שלישית היא מספר הטלפון שלהם. 604 00:26:39,820 --> 00:26:44,760 והטור הרביעי הוא-- כנראה העמודה הרביעית היא כנראה מה? 605 00:26:44,760 --> 00:26:45,870 אוקיי, אז זה הספק שלהם. 606 00:26:45,870 --> 00:26:47,180 אז Verizon, Sprint או, או מה שלא. 607 00:26:47,180 --> 00:26:48,620 ואם שדברתי לא יפה קודם לכן, CSV. 608 00:26:48,620 --> 00:26:51,800 מופרד בפסיקים ערכים הוא CSV כאן. 609 00:26:51,800 --> 00:26:54,260 >> אז מה אני יכול לעשות עם זה? 610 00:26:54,260 --> 00:26:56,940 ובכן, זה פשוט קובץ טקסט גדול, וזה סוג של ארוך, נכון? 611 00:26:56,940 --> 00:26:58,690 כמו שזה הולך להיות סוג של מעצבן. 612 00:26:58,690 --> 00:27:03,510 וזה למרות שמתברר, שאם אני רוצה לשלוח הודעת טקסט ל, בוא 613 00:27:03,510 --> 00:27:05,180 אומר אלכס כאן. 614 00:27:05,180 --> 00:27:09,690 תן לי להיכנס לדפדפן שלי ולצאת ממצב המסך המלא 615 00:27:09,690 --> 00:27:11,660 רק כך אני יכול לעבור קדימה ואחורה. 616 00:27:11,660 --> 00:27:20,280 מתברר, בואו נראה, אם אני הולך ב כאן, ולהיכנס ל- Gmail, בסדר. 617 00:27:20,280 --> 00:27:22,950 אל תסתכלו על החלק הזה. 618 00:27:22,950 --> 00:27:23,880 רק אני זוכה לראות. 619 00:27:23,880 --> 00:27:26,551 620 00:27:26,551 --> 00:27:28,800 כמובן Livestream יכול עדיין לראות מה אני עושה. 621 00:27:28,800 --> 00:27:29,360 בסדר. 622 00:27:29,360 --> 00:27:31,850 >> אז הנה הוא רק ב- Gmail עם חשבונו של ג'ון הרווארד. 623 00:27:31,850 --> 00:27:34,000 אז אם אני רוצה לשלוח הודעת טקסט לאלכס, 624 00:27:34,000 --> 00:27:35,530 אני יכול כמובן לכתוב הודעה. 625 00:27:35,530 --> 00:27:38,410 ומתברר, ויש לי בדק את זה עם אלכס לפני כאן, 626 00:27:38,410 --> 00:27:42,260 כך שאתה יכול לצרף תחום מסוים שם למספרי הטלפון של אנשים, 627 00:27:42,260 --> 00:27:45,850 כי קיים בעולם דברים בשם SMS לדוא"ל שערים. 628 00:27:45,850 --> 00:27:50,000 איזו היא דרך מפוארת של אומר את כל שלנו שיש להם טלפונים ניידים ש 629 00:27:50,000 --> 00:27:53,200 יש מספרי טלפון, כמובן, כנראה יש לספק שלך, 630 00:27:53,200 --> 00:27:56,840 סיומת מסוימת כמו ב Vtext.com להודעת טקסט ורייזון 631 00:27:56,840 --> 00:28:00,320 דוט, שניתן לצרף לך מספר של טלפון אישי, ולאחר מכן 632 00:28:00,320 --> 00:28:03,540 אתה או חברים, או ההורים שלך יכול טקסטך בכתובת מסוימת. 633 00:28:03,540 --> 00:28:07,380 >> ויש Verizon שרת, דואר אלקטרוני שרת, שעם קבלת הודעה זו, 634 00:28:07,380 --> 00:28:11,180 נראה בחלק המספרי ולאחר מכן משתמש מה קסם תעשייה מיוחד 635 00:28:11,180 --> 00:28:14,540 הם צריכים באמת לשלוח אותו מעל גלי האתר לתא הספציפי שלך 636 00:28:14,540 --> 00:28:15,040 טלפון. 637 00:28:15,040 --> 00:28:18,030 עכשיו זה נחמד כי אני לא ממש יודעים איך לשלוח הודעת טקסט 638 00:28:18,030 --> 00:28:20,460 או לכתוב קוד עדיין לטלפון הנייד שלי, 639 00:28:20,460 --> 00:28:23,580 ואתה עלול לעשות בדיוק את זה ל פרויקט גמר, אך לעת עתה כל 640 00:28:23,580 --> 00:28:24,770 יש לי המחשב הנייד שלי הוא כאן. 641 00:28:24,770 --> 00:28:29,830 אז אני רוצה לחזר על CSV ש קובץ, קו, על ידי קו, על ידי קו, על ידי קו, 642 00:28:29,830 --> 00:28:35,160 לתפוס כל אחד ממספרי הטלפון של צוות, והמוביל ו, בצורה האוטומטית שלהם, 643 00:28:35,160 --> 00:28:39,770 לשרשר, כלומר, לחבר את הטלפון מספר עם שם תחום המתאים 644 00:28:39,770 --> 00:28:40,820 ולאחר מכן לשלוח דואר אלקטרוני. 645 00:28:40,820 --> 00:28:41,940 >> אז זה הרבה שלבים. 646 00:28:41,940 --> 00:28:45,530 ומזל טוב עושה את זה בג זה סיוט של מצב 647 00:28:45,530 --> 00:28:48,350 כדי לפתוח קובץ, לקרוא אותו קו, על ידי קו, על ידי קו, כפי שאתה 648 00:28:48,350 --> 00:28:51,100 רואים, או עשוי לראות בקרוב עם בעיה להגדיר חמש, אם לא 649 00:28:51,100 --> 00:28:53,560 בעיה להגדיר ארבעה, ולאחר מכן ללשרשר דינמי 650 00:28:53,560 --> 00:28:57,020 יחד שתי מחרוזות, כי בC, לקחת שתי מחרוזות ולשלב אותם, 651 00:28:57,020 --> 00:29:00,900 מה אתה עושה מינימאלי צריך לעשות סביר ביותר? 652 00:29:00,900 --> 00:29:03,020 אתה צריך להצהיר יותר זיכרון, נכון? 653 00:29:03,020 --> 00:29:04,710 ולשאול, malloc, יכולים יש לי יותר זיכרון? 654 00:29:04,710 --> 00:29:07,060 אז אני יכול לשים את מחצית זו כאן, מחצית מזה כאן. 655 00:29:07,060 --> 00:29:08,150 זה פשוט כל כך הרבה שלבים. 656 00:29:08,150 --> 00:29:10,310 ועל ידי נקודה שאבדת עניין בהדגמה הקטנה טפשה 657 00:29:10,310 --> 00:29:11,851 שבו אתה עושה צפצוף הטלפון של כולם. 658 00:29:11,851 --> 00:29:14,590 בואו לעשות את זה סוג של PHP סגנון, לפיה אנחנו פשוט 659 00:29:14,590 --> 00:29:16,210 להתחיל להשתמש יותר של שכיור המטבח. 660 00:29:16,210 --> 00:29:18,050 >> והרעיונות ביסודו אותו הדבר, 661 00:29:18,050 --> 00:29:20,710 אבל אנחנו לא צריכים לדאוג יותר מדי הרבה על זה ברמה נמוכה יותר. 662 00:29:20,710 --> 00:29:22,950 אז בואו לראות איך אני יכול ללכת על עושה את זה. 663 00:29:22,950 --> 00:29:26,664 ורק כדי שלא לחזור על טעויות עבר, 664 00:29:26,664 --> 00:29:28,330 שכתבתי כמה הערות לעצמי כאן. 665 00:29:28,330 --> 00:29:31,070 ובואו נראה אם ​​אני יכול ללכת איתנו באמצעות כמה צעדים הבסיסיים, 666 00:29:31,070 --> 00:29:33,861 ואז למען הזמן אנחנו אולי לחתוך כמה פינות בסופו של הדבר. 667 00:29:33,861 --> 00:29:38,007 אני הולך קדימה ולעשות פתוח PHP התושבת להתחיל בקובץ זה. 668 00:29:38,007 --> 00:29:39,590 ואני הולך קדימה ולעשות את זה. 669 00:29:39,590 --> 00:29:41,490 קובץ ידית, כמו שאתה בקרוב תראה, למעשה 670 00:29:41,490 --> 00:29:44,790 קורא פונקציה שנקראת F פתוח. 671 00:29:44,790 --> 00:29:46,280 ותזכור את זה פותח קובץ. 672 00:29:46,280 --> 00:29:48,800 והציטוט, סוף ציטוט, r אומר מה, שוב? 673 00:29:48,800 --> 00:29:49,800 רק לפתוח אותו לקריאה. 674 00:29:49,800 --> 00:29:51,210 עכשיו בסט עמ 'ל, אתה עשית את זה. 675 00:29:51,210 --> 00:29:54,500 ולהתמודד יכול להיות כל דבר, פו, בר, bas, כל שם משתנה. 676 00:29:54,500 --> 00:29:57,470 אבל בדרך כלל מחשב מדען הייתי קורא קובץ פתוח, 677 00:29:57,470 --> 00:30:00,962 נותן לך ידית קובץ, משהו להיאחז כביכול. 678 00:30:00,962 --> 00:30:02,670 אני רק הולך לעשות כמה בדיקת שגיאות. 679 00:30:02,670 --> 00:30:07,260 אז אם הידית היא שקר, בדיוק כמו ב- C, אני הולך לעשות משהו כזה, 680 00:30:07,260 --> 00:30:09,545 לא יכל לפתוח את הקובץ, n הקו הנטוי. 681 00:30:09,545 --> 00:30:11,420 ואז אני פשוט הולך ללכת קדימה ויציאה. 682 00:30:11,420 --> 00:30:14,340 ומתברר, ב- PHP, אני לא בתוך פונקציה. 683 00:30:14,340 --> 00:30:16,160 אין פונקציה העיקרית כאן. 684 00:30:16,160 --> 00:30:17,450 אז אני לא אחזור, כשלעצמה. 685 00:30:17,450 --> 00:30:18,120 אני לצאת. 686 00:30:18,120 --> 00:30:19,619 שהוא בעצם אותו הדבר. 687 00:30:19,619 --> 00:30:22,510 ואני יוצא עם y אחד כנראה. 688 00:30:22,510 --> 00:30:24,220 אחד רק אומר שגיאה מסוג כלשהו. 689 00:30:24,220 --> 00:30:25,580 זה שאינו אפס, כך שזה שגיאה. 690 00:30:25,580 --> 00:30:30,220 >> בסדר, אז אם אני פה עכשיו בתכנית שלי יש לי פתח את הקובץ. 691 00:30:30,220 --> 00:30:34,250 אני הולך קדימה ולהכריז מערך נקרא כתובות, 692 00:30:34,250 --> 00:30:38,610 ובC הייתי צריך לדעת גודל של המערך מראש, נכון? 693 00:30:38,610 --> 00:30:41,910 או שהייתי צריך להצהיר על כך הוא מצביע, ולאחר מכן להשתמש malloc. 694 00:30:41,910 --> 00:30:44,720 ואז בכל פעם שאני קורא באמצעות שורה אחרת בקובץ, 695 00:30:44,720 --> 00:30:46,620 אני הולך צריך malloc יותר זיכרון, זיכרון יותר malloc. 696 00:30:46,620 --> 00:30:47,703 זה כאב בצוואר. 697 00:30:47,703 --> 00:30:50,950 ותודה לאל, PHP, ורובי, ופייתון, ו- JavaScript, הם 698 00:30:50,950 --> 00:30:53,880 יגדל המערכים שלך בשבילך באופן אוטומטי. 699 00:30:53,880 --> 00:30:54,830 לא עוד malloc. 700 00:30:54,830 --> 00:30:56,227 לא עוד ניהול זיכרון. 701 00:30:56,227 --> 00:30:57,560 המחשב דואג ש. 702 00:30:57,560 --> 00:31:00,330 אבל המחיר שאתה משלם. 703 00:31:00,330 --> 00:31:01,350 זה קצת איטי. 704 00:31:01,350 --> 00:31:03,190 ולתכנית כמו זו אנחנו לא הולכים ללב. 705 00:31:03,190 --> 00:31:04,720 אנחנו הולכים לשלוח 100 הודעות טקסט. 706 00:31:04,720 --> 00:31:06,136 למשל לא הולך להרגיש את זה. 707 00:31:06,136 --> 00:31:08,430 זה באמת רק מתחיל משנה השפה של בחירה שלך 708 00:31:08,430 --> 00:31:11,490 כאשר הנתונים שלך או את התוכניות שלך לקבל באמת, באמת גדול, 709 00:31:11,490 --> 00:31:14,120 כיהיה המקרה יותר עם הדברים שלנו באינטרנט מבוסס. 710 00:31:14,120 --> 00:31:15,450 >> אבל לעת עתה בואו לפרוץ קדימה. 711 00:31:15,450 --> 00:31:20,120 בעוד מתברר שיש פונקציה ב- C נקראת F לקבל CSV. 712 00:31:20,120 --> 00:31:24,570 קובץ CSV לקבל, שלוקח להגיש ידית כטענתה, 713 00:31:24,570 --> 00:31:28,810 וזה ממשיך אז, שורה, על ידי שורה, על ידי שורה, לקרוא ברציפות. 714 00:31:28,810 --> 00:31:30,964 אז זה פשוט קורא קו טקסט מהקובץ. 715 00:31:30,964 --> 00:31:34,130 אבל מה שיפה בפונקציה זו, זה לא רק נותן לי שורת טקסט. 716 00:31:34,130 --> 00:31:37,320 הוא מחפש פסיקים אלה, ומנתח את הקו. 717 00:31:37,320 --> 00:31:41,740 ולנתח את הקו אומר לפצל אותו על ערכים מסוימים בהקשר זה. 718 00:31:41,740 --> 00:31:45,510 >> במילים אחרות, סימן דולר השורה היא משתנה זה 719 00:31:45,510 --> 00:31:47,010 הולך לתת לי חבורה של מדדים. 720 00:31:47,010 --> 00:31:49,635 זה הולך להיות הטור ראשון בCSV שלי. 721 00:31:49,635 --> 00:31:52,510 זה הולך להיות שני טור, זה הולך להיות שלישי, 722 00:31:52,510 --> 00:31:53,968 וזה הולך להיות רביעי. 723 00:31:53,968 --> 00:31:57,440 משום כזכור, ו- Excel לא לשתף פעולה הפעם האחרונה שעשינו את זה, 724 00:31:57,440 --> 00:32:03,350 אבל אם אני מוריד צוות dot CSV. 725 00:32:03,350 --> 00:32:04,940 אופס, לא לשנות את השם. 726 00:32:04,940 --> 00:32:09,120 אם אני מוריד את נקודת צוות CSV, ולנסות לפתוח אותו, 727 00:32:09,120 --> 00:32:12,510 אני כבר registered-- הו אני לא עדכן את Excel מאז הפעם האחרונה. 728 00:32:12,510 --> 00:32:15,880 אתה רואה שבנקודת צוות CSV, יש לי ארבעה עמודים. 729 00:32:15,880 --> 00:32:18,720 אז כשאני קורא ב השורה הראשונה לאב כאן, 730 00:32:18,720 --> 00:32:23,582 שורת סימן דולר 0 היא אבי, שורת סימן דולר אחד היא יונס, 731 00:32:23,582 --> 00:32:27,740 שורת סימן דולר היא שתי את המספר שלה, ואז הספק של הטלפון שלה. 732 00:32:27,740 --> 00:32:28,410 >> אז זה הכל. 733 00:32:28,410 --> 00:32:30,740 וזה נחמד, כי אני אין לי עכשיו כדי להבין 734 00:32:30,740 --> 00:32:32,800 שבו כל פסיקים אלה הם למעשה. 735 00:32:32,800 --> 00:32:35,300 אז אני הולך קדימה ו לעשות את זה, בהתחשב בהגדרה זו, 736 00:32:35,300 --> 00:32:38,960 אני הולך להגיד שהשם שלה הוא במסגרת שורת אפס, כפי שהובטח. 737 00:32:38,960 --> 00:32:41,150 ואני הולך grab-- ו למעשה, אתה יודע מה? 738 00:32:41,150 --> 00:32:42,780 אני לא הולך לדאוג את שמה, במקרה זה. 739 00:32:42,780 --> 00:32:43,988 אני הולך לשמור את זה פשוט. 740 00:32:43,988 --> 00:32:48,610 אני הולך לעשות את המספר שלה הוא במסגרת שורת שתיים, אני חושב. 741 00:32:48,610 --> 00:32:50,510 והמוביל שלה היה שבבו? 742 00:32:50,510 --> 00:32:53,405 שורה שלוש, אחד מעל. 743 00:32:53,405 --> 00:32:54,280 כך ששום דבר חדש שם. 744 00:32:54,280 --> 00:32:56,770 זה רק אפס אינדקס למערך. 745 00:32:56,770 --> 00:32:58,760 >> ועכשיו, אני הולך לבצע את הפעולות הבאות. 746 00:32:58,760 --> 00:33:03,930 אם הספק שווה שווה AT & T-- אני רק הולך ליש loop-- 747 00:33:03,930 --> 00:33:06,790 אני רוצה ליצור הודעת דואר אלקטרוני כתובת שנראית כך. 748 00:33:06,790 --> 00:33:12,320 זה הולך להיות 617-555-1212 ב, מה זה, text.ATT.net, 749 00:33:12,320 --> 00:33:13,490 זה מה שאני רוצה לעשות. 750 00:33:13,490 --> 00:33:15,260 אז איך אני עושה את זה? 751 00:33:15,260 --> 00:33:16,730 אני הולך לעשות את הדברים הבאים. 752 00:33:16,730 --> 00:33:22,460 הכתובת שלה הולכת להיות המספר שלה, ועכשיו, תן לי ללכת קדימה ולעשות את זה. 753 00:33:22,460 --> 00:33:23,760 זה כמה תחביר פאנקי. 754 00:33:23,760 --> 00:33:27,250 אני יכול לעשות את העבודה של אחוזים, אבל אני ממש יכול פשוט לעשות את זה. 755 00:33:27,250 --> 00:33:29,900 >> אז זה דבר PHP, אבל הבה נבחן מה שאני עושה. 756 00:33:29,900 --> 00:33:31,630 דולרים לחתום על כתובת השמאל, רק משתנה. 757 00:33:31,630 --> 00:33:32,300 תן לי משתנה. 758 00:33:32,300 --> 00:33:33,390 אני לא צריך לציין את הסוג. 759 00:33:33,390 --> 00:33:34,570 PHP יהיה להבין את זה. 760 00:33:34,570 --> 00:33:36,580 בצד ימין, מה סוג הנתונים 761 00:33:36,580 --> 00:33:38,399 של שכל הדבר ב בצד ימין? 762 00:33:38,399 --> 00:33:40,190 נראה כמו מחרוזת, בגלל שיש כפול 763 00:33:40,190 --> 00:33:42,280 מצטט בשמאל הקיצוני וימין קיצוני. 764 00:33:42,280 --> 00:33:44,210 עכשיו יש כמה תחביר חדש פאנקי כאן. 765 00:33:44,210 --> 00:33:47,550 יש סוגריים המסולסלים, ומספר סימן דולר. 766 00:33:47,550 --> 00:33:52,860 אבל לקחת לנחש מה הוא תחביר ש כנראה אומר PHP לעשות בשבילי? 767 00:33:52,860 --> 00:33:53,360 כן. 768 00:33:53,360 --> 00:33:54,630 פשוט להכניס את הערך שם. 769 00:33:54,630 --> 00:33:55,530 אז לא אחוזים של. 770 00:33:55,530 --> 00:33:58,160 אנו יכולים להשתמש בF הדפסה, או של ו הדפסה או משהו כזה, 771 00:33:58,160 --> 00:34:00,070 אבל PHP והרבה שפות ברמה גבוהות יותר, 772 00:34:00,070 --> 00:34:03,070 אתה הולך לראות שאתה יכול לעשות את אותו הדבר מבחינה תפקודית, אולי 773 00:34:03,070 --> 00:34:04,019 שש דרכים שונות. 774 00:34:04,019 --> 00:34:06,310 ואז זה מתחיל להיות עניין של עיצוב או סגנון. 775 00:34:06,310 --> 00:34:09,902 אז זה רק דרך מבט סתום לומר, תן לי את כתובת הדוא"ל של, 776 00:34:09,902 --> 00:34:12,110 אבל התוספת במספר ב בין סוגריים המסולסלים אלה. 777 00:34:12,110 --> 00:34:15,440 והסוגריים המסולסלים לא יהיו בסופו של כתובת הסופית. 778 00:34:15,440 --> 00:34:18,010 >> עכשיו אנחנו יכולים לדלג על חלק מ קווים אלה למען הזמן. 779 00:34:18,010 --> 00:34:21,210 אז אם ספק שווה שווה אופס verHorizon--, 780 00:34:21,210 --> 00:34:24,989 Verizon-- אני רוצה לעשות משהו דומה מאוד, שבו מקבלת את כתובת, 781 00:34:24,989 --> 00:34:27,569 ציטוט, סוף ציטוט מספר, בtext.ATT.net. 782 00:34:27,569 --> 00:34:30,380 783 00:34:30,380 --> 00:34:35,050 ואז אני יכול לעשות את אותו סוג של דבר לשאר ספקים. 784 00:34:35,050 --> 00:34:37,090 אבל אני פשוט אעשה את הנקודה, נקודה, נקודה לעת עתה. 785 00:34:37,090 --> 00:34:43,050 ועכשיו בואו נניח ש אני רוצה להוסיף מערך, לדחוף. 786 00:34:43,050 --> 00:34:45,969 אני רוצה להוסיף ל מערך, שנקרא כתובות. 787 00:34:45,969 --> 00:34:50,409 >> כתובת זו, כך ש להוסיף משהו למערך ב- PHP. 788 00:34:50,409 --> 00:34:51,610 אתה לא צריך לעשות malloc. 789 00:34:51,610 --> 00:34:53,068 אתה לא צריך לשנות את גודל המערך. 790 00:34:53,068 --> 00:34:54,259 אתה פשוט אומר מערך, דחיפה. 791 00:34:54,259 --> 00:34:57,300 מה אתה רוצה push-- מה מערך אתה רוצה לדחוף משהו על? 792 00:34:57,300 --> 00:34:58,000 כתובות. 793 00:34:58,000 --> 00:34:59,550 מה אתה רוצה לדחוף על כתובות? 794 00:34:59,550 --> 00:35:00,350 כתובת. 795 00:35:00,350 --> 00:35:02,430 ולמעשה, אם אתה באמת רוצה להיות חכם, 796 00:35:02,430 --> 00:35:05,610 כמה סוכר תחבירי לזה, אם אפשר לומר כך, 797 00:35:05,610 --> 00:35:10,230 שרק אומר איך אתה יכול לעשות את זה ב הדרך היפה יותר, תהיה לעשות את זה. 798 00:35:10,230 --> 00:35:14,060 שגם יש לו את ההשפעה של גידול מערך כתובות על ידי גודל אחד, 799 00:35:14,060 --> 00:35:17,130 ולאחר מכן פלופ שנוסף כתובת הדוא"ל לתוכו. 800 00:35:17,130 --> 00:35:17,630 כן. 801 00:35:17,630 --> 00:35:19,730 >> קהל: [לא ברור] 802 00:35:19,730 --> 00:35:22,520 >> SPEAKER 1: טעות דפוס ב אחר if-- הו, מוביל. 803 00:35:22,520 --> 00:35:23,070 זה בסדר. 804 00:35:23,070 --> 00:35:26,971 זה גם לא יאהב את הכישלון שלי ל ליישם חלק מתכנית זו 805 00:35:26,971 --> 00:35:27,470 מאוחר יותר. 806 00:35:27,470 --> 00:35:28,810 אבל תודה ללכידת. 807 00:35:28,810 --> 00:35:30,671 באג אחד יותר. 808 00:35:30,671 --> 00:35:31,170 תודה. 809 00:35:31,170 --> 00:35:33,746 אנחנו רוצים שזה יהיה Vtext.com. 810 00:35:33,746 --> 00:35:34,340 כן. 811 00:35:34,340 --> 00:35:34,839 בסדר. 812 00:35:34,839 --> 00:35:36,330 אז איפה זה משאיר אותנו? 813 00:35:36,330 --> 00:35:38,224 אנחנו כתבנו את הקוד כדי לפתוח את הקובץ. 814 00:35:38,224 --> 00:35:40,390 יש לנו לולאה ללחזר על השורות בקובץ. 815 00:35:40,390 --> 00:35:43,650 יש לנו קוד שמוסיף לי מערך, אחד בכל פעם, בצורה נכונה 816 00:35:43,650 --> 00:35:44,790 כתובת הדוא"ל של פורמט. 817 00:35:44,790 --> 00:35:48,480 אז כל מה שבאמת נותר הוא לשלוח דואר אלקטרוני לכל אחד מהאנשים האלה. 818 00:35:48,480 --> 00:35:52,830 >> אז אני כבר הלכתי קדימה ו הכין את עצמי כדלקמן. 819 00:35:52,830 --> 00:35:59,580 מה אני הולך לעשות כאן הוא-- ובואו קדימה ולדלג לחלק הקוד בפועל, 820 00:35:59,580 --> 00:36:00,620 שנראה כמו זה. 821 00:36:00,620 --> 00:36:02,950 אז הנה הוא לפני אפוי גרסה שכתבתי קודם. 822 00:36:02,950 --> 00:36:04,700 ושימו לב שסיימתי יישום ספרינט. 823 00:36:04,700 --> 00:36:06,130 סיימתי יישום T-Mobile. 824 00:36:06,130 --> 00:36:08,020 סיימתי יישום Virgin Mobile. 825 00:36:08,020 --> 00:36:09,622 ואני מתנצל מראש. 826 00:36:09,622 --> 00:36:12,080 יש כמה ספקים ש כמה תלמידים בכיתה יש לי 827 00:36:12,080 --> 00:36:14,640 שלא טרח ספירת באם המצב כאן. 828 00:36:14,640 --> 00:36:16,015 אז לא כל הטקסטים תצאו. 829 00:36:16,015 --> 00:36:17,556 אבל בואו נראה מה עוד אני צריך לעשות. 830 00:36:17,556 --> 00:36:19,660 אני סוגר את הקובץ, פשוט כמו בעמ להגדיר ארבעה. 831 00:36:19,660 --> 00:36:20,835 >> וזה תחביר חדש. 832 00:36:20,835 --> 00:36:22,710 ואנו רואים מעט קצת זה לאורך זמן, 833 00:36:22,710 --> 00:36:24,450 במיוחד עם p להגדיר שבעה ושמונה. 834 00:36:24,450 --> 00:36:28,140 אבל זה תחביר ליצירה סוג מיוחד של מבנה. 835 00:36:28,140 --> 00:36:31,490 מתברר שיש ספרייה ש מגיע עם PHP, דיוור PHP נקרא. 836 00:36:31,490 --> 00:36:33,840 מטרתה בחיים היא תכנותי לשלוח מיילים. 837 00:36:33,840 --> 00:36:36,840 זה מישהו אחר כתב את הקוד ש עושה את זה יותר קל לנו לשלוח מיילים, 838 00:36:36,840 --> 00:36:39,131 ולכן אנחנו לא צריכים לשמור הולך הלוך ושוב ל- Gmail, 839 00:36:39,131 --> 00:36:41,151 והדבקה בכתובות הדואר האלקטרוני של אנשים. 840 00:36:41,151 --> 00:36:44,150 יש חבורה שלמה של קווים כאן כי בכנות, אני פשוט סוג של העתקה 841 00:36:44,150 --> 00:36:45,660 ולהדביק מהתיעוד. 842 00:36:45,660 --> 00:36:47,409 ולמעשה, אם אתה סקרן, שעזבתי את כל 843 00:36:47,409 --> 00:36:50,550 של כתובות האתרים של התיעוד בקוד שאנו מתכוונים לכתוב מאוחר יותר. 844 00:36:50,550 --> 00:36:52,360 ושים לב שבין הדברים שאני עושה 845 00:36:52,360 --> 00:36:55,710 הוא, אני אומר לי ספרייה זו, להשתמש בשרת של Gmail, נכון? 846 00:36:55,710 --> 00:36:59,360 SMTP דיברנו בקצרה על כש היו באוניברסיטת ייל על להיות דואר פשוט 847 00:36:59,360 --> 00:37:00,110 פרוטוקול העברה. 848 00:37:00,110 --> 00:37:02,920 זה הפרוטוקול ש שרתים משמשים לשליחת דואר אלקטרוני, 849 00:37:02,920 --> 00:37:05,150 ויש that's-- Gmail אחד מאותם. 850 00:37:05,150 --> 00:37:07,290 נמל, כך הוא מספר יציאת TCP. 851 00:37:07,290 --> 00:37:09,630 זה בסדר גמור אם אתה לא ראה 587 לפני. 852 00:37:09,630 --> 00:37:11,420 רק יודע שמהתיעוד. 853 00:37:11,420 --> 00:37:12,250 הנה שם המשתמש שלי. 854 00:37:12,250 --> 00:37:13,670 אני הולך להשתמש בבוט CF50. 855 00:37:13,670 --> 00:37:16,690 וברגע, אני רק הולך ל הקלד את הסיסמה בפועל של בוט. 856 00:37:16,690 --> 00:37:18,690 ואז כאן, שים לב מה שנשאר. 857 00:37:18,690 --> 00:37:22,840 >> אני מגדיר את שלי מכתובת להיות BOT בCS50.net. 858 00:37:22,840 --> 00:37:26,240 אני חושב שאני לא אצטער על השליחה הודעת טקסט ל- 800 אנשים ש 859 00:37:26,240 --> 00:37:30,590 אומר, מתגעגע אליך, בוט CS50 האהבה, אולי למי שלא יכול לעשות את זה היום. 860 00:37:30,590 --> 00:37:33,160 ולאחר מכן בקו 76, מה עליי לעשות? 861 00:37:33,160 --> 00:37:39,010 סוג זה של מראה כמו ג אז לי שווה 0, n equals-- עכשיו לספור הוא חדש. 862 00:37:39,010 --> 00:37:42,077 מתברר שאם אתה רוצה לקבל מספר דברים במערך, 863 00:37:42,077 --> 00:37:43,660 אתה לא צריך לזכור את זה יותר. 864 00:37:43,660 --> 00:37:45,370 אתה פשוט יכול לשאול פונקציה שנקראת ספירה, 865 00:37:45,370 --> 00:37:48,320 והוא יגיד לך כמה כתובות הן במערך ש. 866 00:37:48,320 --> 00:37:53,210 >> ואז אני הולך להוסיף כתובת הדואר האלקטרוני ל. 867 00:37:53,210 --> 00:37:55,090 ואני יודע שזה מ באמצעות התיעוד. 868 00:37:55,090 --> 00:37:56,900 יש פונקצית כתובת תוספת. 869 00:37:56,900 --> 00:37:58,980 ועכשיו שם לב שיש היא חתיכת תחביר אחד. 870 00:37:58,980 --> 00:38:01,470 אנחנו ראינו את זה לפני בג דומה ברוח. 871 00:38:01,470 --> 00:38:04,100 אתה יכול לחשוב על סימן דולר אלקטרוני כמשתנה, שבו הוא. 872 00:38:04,100 --> 00:38:08,100 אבל זה struct בתוך שהם לא רק תכונות, 873 00:38:08,100 --> 00:38:09,400 משתנים אם תרצה. 874 00:38:09,400 --> 00:38:13,480 אבל מתברר שב- PHP, ש הוא תכנות מונחה עצמים 875 00:38:13,480 --> 00:38:16,520 שפה, כמו Java אם לקח נגמ"שים. 876 00:38:16,520 --> 00:38:21,420 >> סימן דואר דולר, אם אתה רוצה צריכה-- יש לה גם תפקידים בתוכו, 877 00:38:21,420 --> 00:38:22,380 או שיטות. 878 00:38:22,380 --> 00:38:24,720 אז זה אומר ש מיילר PHP המיוחד 879 00:38:24,720 --> 00:38:29,280 ספרייה, אם יש לי משתנה, אם אני רוצה לקרוא לפונקציה ש 880 00:38:29,280 --> 00:38:31,559 מגיע עם ספרייה ש, למטרות של היום, 881 00:38:31,559 --> 00:38:33,100 פשוט יודע שאתה משתמש בסימון החץ. 882 00:38:33,100 --> 00:38:34,150 אין סימון נקודה. 883 00:38:34,150 --> 00:38:35,220 זה רק על החץ. 884 00:38:35,220 --> 00:38:36,380 אבל זה לא מצביע. 885 00:38:36,380 --> 00:38:38,680 זה רק בהשאלה מהתחביר של C. 886 00:38:38,680 --> 00:38:43,620 אז קוראים להוסיף בתוך כתובת האובייקט של ספרייה זו או משתנה. 887 00:38:43,620 --> 00:38:44,440 >> בסדר. 888 00:38:44,440 --> 00:38:45,570 זהו הקו הקסום. 889 00:38:45,570 --> 00:38:46,740 ככה אני שולח דואר אלקטרוני. 890 00:38:46,740 --> 00:38:50,040 זה שווה הערך של פתיחה Gmail, להקליד אותה החוצה, ולהכות לשלוח. 891 00:38:50,040 --> 00:38:54,870 אבל זה הולך לשלוח במקום דוא"ל לכתובת זו, עם הגוף הזה, 892 00:38:54,870 --> 00:38:57,120 מבוט CS50. 893 00:38:57,120 --> 00:38:58,710 ועכשיו שורת מפתח. 894 00:38:58,710 --> 00:39:03,130 קו זה נעדר ב2,011 כמו כשאני חושב ניסיתי אחרון זה. 895 00:39:03,130 --> 00:39:05,640 קו שיש, כמובן, מנקה את הכתובות. 896 00:39:05,640 --> 00:39:07,920 אז מבחינה הגיונית, אם אני לא לנקות את כתובת 897 00:39:07,920 --> 00:39:11,740 לאחר כל איטרציה, הראשון דוא"ל או הודעת טקסט הולכת לאליס, 898 00:39:11,740 --> 00:39:14,320 השני הולך ל אליס ובוב, השלישי 899 00:39:14,320 --> 00:39:17,870 הולך לאליס ובוב וצ'רלי, ומכאן טעות יקרה מאוד 900 00:39:17,870 --> 00:39:18,760 אני עשיתי את זה שנה. 901 00:39:18,760 --> 00:39:21,080 >> אז בואו לראות. 902 00:39:21,080 --> 00:39:24,200 האם יש שאלות לפני שאנחנו שולחים לך את כל טקסט 903 00:39:24,200 --> 00:39:28,210 הודעה עם הסתברות של 10 אחוזים? 904 00:39:28,210 --> 00:39:28,940 יש שאלות? 905 00:39:28,940 --> 00:39:30,330 בסדר. 906 00:39:30,330 --> 00:39:36,100 בואו לי ללכת לכאן ושינוי הסיסמה למה שצריך לעבוד, 907 00:39:36,100 --> 00:39:37,780 צפוי לקבל ברשימה שחורה של Gmail. 908 00:39:37,780 --> 00:39:39,821 אז אולי הם לא כל ללכת את, שכן הם כנראה 909 00:39:39,821 --> 00:39:42,960 לא אוהב אותנו שולחים 800 מיילים ללולאה בבת אחת. 910 00:39:42,960 --> 00:39:45,140 מכיוון שזה לא התנהגות אנושית במיוחד. 911 00:39:45,140 --> 00:39:47,460 >> אה, אני הולך לשנות דבר אחד אחר. 912 00:39:47,460 --> 00:39:50,850 בחלק העליון, אני הולך sent-- לשנות את הקובץ לתלמידי נקודה CSV. 913 00:39:50,850 --> 00:39:55,420 ואני לא אפתח את זה, אבל זה קובץ CSV זהה עם לא 100 עובדים, 914 00:39:55,420 --> 00:39:58,970 אבל 800 תלמידים, רק מאוניברסיטת הרווארד, כי ייל 915 00:39:58,970 --> 00:40:00,207 יש פגרת אוקטובר שבוע. 916 00:40:00,207 --> 00:40:03,290 וזה נראה כמו סוג של דבר אידיוט לעשות לטקסט כולם, מדוע 917 00:40:03,290 --> 00:40:04,750 הם לא בכיתה על החג. 918 00:40:04,750 --> 00:40:05,250 זה בסדר. 919 00:40:05,250 --> 00:40:08,310 רק סטודנטים באוניברסיטת הרווארד היום בתוך הקובץ ש. 920 00:40:08,310 --> 00:40:12,320 ועכשיו בואו נחזור לחלון המסוף שלי. 921 00:40:12,320 --> 00:40:13,710 אני סוג של עצבים. 922 00:40:13,710 --> 00:40:22,000 >> אוקי אז עכשיו אני הולך להיכנס ל ספרייה, ו- PHP על נקודת טקסט PHP. 923 00:40:22,000 --> 00:40:24,950 מה דעתך על התנדבות אחד אמיצה? 924 00:40:24,950 --> 00:40:26,690 אז אני לא רוצה את זה עליי. 925 00:40:26,690 --> 00:40:28,410 אישור, בוא למעלה. 926 00:40:28,410 --> 00:40:29,162 מה השם שלך? 927 00:40:29,162 --> 00:40:29,662 מאיה: מאיה. 928 00:40:29,662 --> 00:40:30,328 1 מרצה: מאיה. 929 00:40:30,328 --> 00:40:31,610 בואו למעלה, מאיה. 930 00:40:31,610 --> 00:40:34,120 בסדר. 931 00:40:34,120 --> 00:40:35,389 בואו אראה אם ​​זה עובד. 932 00:40:35,389 --> 00:40:38,430 שמתי בכתובת הדואר האלקטרוני שלי file-- מספר הטלפון שלי בקובץ, 933 00:40:38,430 --> 00:40:40,110 כך שאני מקווה שאני אקבל אחד גם כן. 934 00:40:40,110 --> 00:40:40,819 נחמד לפגוש אותך. 935 00:40:40,819 --> 00:40:41,443 מאיה: כמו כן. 936 00:40:41,443 --> 00:40:44,510 1 דובר: אז כל מה שאתה צריך לעשות הוא על Enter כדי לשלוח 800 הודעות טקסט, 937 00:40:44,510 --> 00:40:45,466 אם אני לא לפשל. 938 00:40:45,466 --> 00:40:51,106 939 00:40:51,106 --> 00:40:51,606 נחמד. 940 00:40:51,606 --> 00:40:55,556 941 00:40:55,556 --> 00:40:58,430 יכול לקחת זמן, מבחינה סטטיסטית, עד שנגיע לדואר אלקטרוני address-- 942 00:40:58,430 --> 00:41:00,573 הודעת טקסט זה בחדר עכשיו. 943 00:41:00,573 --> 00:41:03,880 944 00:41:03,880 --> 00:41:05,390 בואו נתעכב ותראו. 945 00:41:05,390 --> 00:41:06,940 >> קהל: [שורק] 946 00:41:06,940 --> 00:41:08,270 >> 1 מרצה: אה, כן. 947 00:41:08,270 --> 00:41:09,230 >> קהל: אה, תפסתי אותך. 948 00:41:09,230 --> 00:41:16,720 949 00:41:16,720 --> 00:41:19,180 >> 1 דובר: ללולאות הן-- זה לא איטי בגלל PHP. 950 00:41:19,180 --> 00:41:21,810 זה איטי בגלל Gmail הוא חונק אותנו ולא 951 00:41:21,810 --> 00:41:25,170 ומאפשר לנו לשלוח יותר מ כמו דואר אלקטרוני אחת לשנייה. 952 00:41:25,170 --> 00:41:26,300 כל דבר? 953 00:41:26,300 --> 00:41:29,990 זה היה דבר קשה לי לבדוק ב בית עם רק אני וטלפון אחד שלי, כל כך. 954 00:41:29,990 --> 00:41:37,630 955 00:41:37,630 --> 00:41:41,111 האם שאני מקווה מבוט? 956 00:41:41,111 --> 00:41:41,610 כן? 957 00:41:41,610 --> 00:41:42,110 לא? 958 00:41:42,110 --> 00:41:44,760 959 00:41:44,760 --> 00:41:46,620 תגיד כן. 960 00:41:46,620 --> 00:41:47,479 לא? 961 00:41:47,479 --> 00:41:49,374 זה מידיד? 962 00:41:49,374 --> 00:41:49,874 מביך. 963 00:41:49,874 --> 00:41:50,374 אוקיי. 964 00:41:50,374 --> 00:41:56,580 965 00:41:56,580 --> 00:42:00,090 די בטוח שזה עובד אף. 966 00:42:00,090 --> 00:42:00,910 או הו. 967 00:42:00,910 --> 00:42:03,190 הם black-- הו, חכו רגע. 968 00:42:03,190 --> 00:42:04,280 אה, אתה יודע מה? 969 00:42:04,280 --> 00:42:06,100 רגע אחד בבקשה. 970 00:42:06,100 --> 00:42:07,802 רק מאיה ואני- מיה, זה היה? 971 00:42:07,802 --> 00:42:08,301 מאיה: מאיה. 972 00:42:08,301 --> 00:42:12,110 1 מרצה: מאיה, הולך יודע מה עשיתי לא בסדר כאן. 973 00:42:12,110 --> 00:42:14,890 אה, רגע, רגע. 974 00:42:14,890 --> 00:42:23,320 אני חושב שאני פשוט שלח 100 הודעות טקסט ל555-1212. 975 00:42:23,320 --> 00:42:24,346 המתנה. 976 00:42:24,346 --> 00:42:28,080 977 00:42:28,080 --> 00:42:29,270 אני לא יכול לנצח כל שנה. 978 00:42:29,270 --> 00:42:30,180 אוקיי. 979 00:42:30,180 --> 00:42:30,680 מאיה? 980 00:42:30,680 --> 00:42:33,530 981 00:42:33,530 --> 00:42:36,219 לתקן את זה שבלאחר ייצור. 982 00:42:36,219 --> 00:42:36,718 לכל הרוחות! 983 00:42:36,718 --> 00:42:39,430 984 00:42:39,430 --> 00:42:40,390 הבא מכתובת. 985 00:42:40,390 --> 00:42:41,301 אישור, תעמוד על ידי. 986 00:42:41,301 --> 00:42:41,800 מצטער. 987 00:42:41,800 --> 00:42:44,550 988 00:42:44,550 --> 00:42:47,080 זה כואב בכל שנה. 989 00:42:47,080 --> 00:42:48,640 אישור, רגע אחד. 990 00:42:48,640 --> 00:42:50,530 זה טוב. 991 00:42:50,530 --> 00:42:54,010 אני במקום הולך לעשות את זה. 992 00:42:54,010 --> 00:42:55,470 כתובת הדפסה. 993 00:42:55,470 --> 00:42:56,030 אישור, תעמוד על ידי. 994 00:42:56,030 --> 00:43:01,340 כתובות הדפסה, אני סוגר. 995 00:43:01,340 --> 00:43:02,710 כן, אני אוהב את זה. 996 00:43:02,710 --> 00:43:10,220 דולר sign-- אישור אני אסביר מה אני עושה ברגע, אחרי שמפעיל את זה. 997 00:43:10,220 --> 00:43:11,670 כל שנה. 998 00:43:11,670 --> 00:43:13,125 אישור, הנה זה באנו. 999 00:43:13,125 --> 00:43:15,750 יש לי אני פשוט- ואני לא רוצה כדי להציג את מספר הטלפון של כולם, 1000 00:43:15,750 --> 00:43:17,740 אבל מאיה יכולה לאשר בהנהון של הראש, 1001 00:43:17,740 --> 00:43:20,800 שהיא רואה כולם מספר טלפון בכיתה 1002 00:43:20,800 --> 00:43:26,750 שאני הולך להעתיק ל תכנית בשם Gmail. 1003 00:43:26,750 --> 00:43:30,860 ואם ב- Gmail, מה שאנחנו רוצים לומר? 1004 00:43:30,860 --> 00:43:32,137 מתגעגע אליך. 1005 00:43:32,137 --> 00:43:33,220 Love-- זה לא ממני. 1006 00:43:33,220 --> 00:43:35,230 אני אפילו לא פגע לשלוח עדיין. 1007 00:43:35,230 --> 00:43:39,450 אז בואו נלך קדימה ולעשות זה, אם אני יכול להתמקד ב. 1008 00:43:39,450 --> 00:43:40,300 אוקיי. 1009 00:43:40,300 --> 00:43:42,480 אז אני משתמש בתוכנה בשם Gmail עכשיו. 1010 00:43:42,480 --> 00:43:44,490 אם מאיה, אתה רוצה לחץ על לחצן שלח, 1011 00:43:44,490 --> 00:43:46,970 אנו מדמים את מה ש קוד צריך לעשות. 1012 00:43:46,970 --> 00:43:54,630 1013 00:43:54,630 --> 00:43:55,254 >> כל דבר? 1014 00:43:55,254 --> 00:43:56,062 >> [צפצופים] 1015 00:43:56,062 --> 00:43:56,870 >> קהל: כן. 1016 00:43:56,870 --> 00:43:58,030 >> 1 מרצה: כן? 1017 00:43:58,030 --> 00:43:59,210 ישועה? 1018 00:43:59,210 --> 00:44:00,427 >> קהל: כן. 1019 00:44:00,427 --> 00:44:01,260 1 מרצה: מתגעגע אליך. 1020 00:44:01,260 --> 00:44:02,718 ואני הולך לשלוח את השאר. 1021 00:44:02,718 --> 00:44:06,060 שלחתי את המחצית כי אני לא חושב ש Gmail יאפשר לי אלה לעבור. 1022 00:44:06,060 --> 00:44:12,410 אז רק תזכור, היום הוא היום כי אתה למדת שאני יכול להשתמש ב- Gmail. 1023 00:44:12,410 --> 00:44:14,977 1024 00:44:14,977 --> 00:44:15,810 זה היה מחריד. 1025 00:44:15,810 --> 00:44:17,140 מחיאות כפיים גדולות למאיה. 1026 00:44:17,140 --> 00:44:18,980 תודה. 1027 00:44:18,980 --> 00:44:21,280 בסדר, אז. 1028 00:44:21,280 --> 00:44:22,210 מה 1029 00:44:22,210 --> 00:44:23,140 >> [צפצופים] 1030 00:44:23,140 --> 00:44:25,010 1031 00:44:25,010 --> 00:44:26,580 >> יש לנו כמה צפצופים, כן? 1032 00:44:26,580 --> 00:44:27,080 בסדר. 1033 00:44:27,080 --> 00:44:30,590 עכשיו אני הולך לקבל 700 באמת מיילים אומללים חזרה מחבריו לכיתה. 1034 00:44:30,590 --> 00:44:32,400 אז לפחות שנראה אם זה היה שווה את זה. 1035 00:44:32,400 --> 00:44:33,300 אז מה השתבש? 1036 00:44:33,300 --> 00:44:35,300 אני להבין מה הלכתי הלא נכון בדיעבד, 1037 00:44:35,300 --> 00:44:38,340 אבל רק להסתכל כמה קל זה היה לעשות את זה ב- PHP. 1038 00:44:38,340 --> 00:44:44,598 אז מה אנחנו יכולים למעשה לעשות עכשיו ש יש לנו הבעה זו של PHP. 1039 00:44:44,598 --> 00:44:45,970 was-- שזה היה נורא. 1040 00:44:45,970 --> 00:44:46,480 בסדר. 1041 00:44:46,480 --> 00:44:48,430 אז זה מה שצריך הייתי לצאת. 1042 00:44:48,430 --> 00:44:52,770 זה היה לי בדיקה הבוקר עליי טלפון, מסך בפועל של הטלפון שלי. 1043 00:44:52,770 --> 00:44:56,180 >> אבל עכשיו הבה נבחן מדוע אנחנו בעצם אתה מציגים 1044 00:44:56,180 --> 00:44:57,840 את כל הדברים האלה במקום הראשון. 1045 00:44:57,840 --> 00:45:01,625 אז המטרה היא לא ל לכתוב תוכניות אלה ש 1046 00:45:01,625 --> 00:45:03,250 נכתבים בשורת הפקודה, נכון? 1047 00:45:03,250 --> 00:45:05,000 אז כתבתי פשוט שלום תכנית, שכתבתי 1048 00:45:05,000 --> 00:45:09,155 תוכנה קטנה שעושה תנאי, ומשמש קו קריאה וכן הלאה. 1049 00:45:09,155 --> 00:45:11,530 ובתאוריה, אני רק כתבתי תכנית ששלחה 1050 00:45:11,530 --> 00:45:14,290 800 הודעות טקסט, לתת או לקחת 800. 1051 00:45:14,290 --> 00:45:16,830 והתכנית שהייתה כל עדיין לרוץ בשורת הפקודה. 1052 00:45:16,830 --> 00:45:18,538 וזה, כמובן, הוא לא באינטרנט, נכון? 1053 00:45:18,538 --> 00:45:22,160 המטרה עכשיו היא להתחיל להשתמש ב מה שאני טוען הוא קל יותר לשימוש 1054 00:45:22,160 --> 00:45:24,720 שפה, מעזה לומר יותר שפה רבת עוצמה במונחים 1055 00:45:24,720 --> 00:45:27,104 מהתכונות ש מגיע עם זה, כדי להתחיל 1056 00:45:27,104 --> 00:45:29,850 כתיבת קוד שמייצר דפי אינטרנט. 1057 00:45:29,850 --> 00:45:33,248 >> אז בפעם האחרונה ושבוע שעבר, דיברנו על HTTP ו- HTML. 1058 00:45:33,248 --> 00:45:36,350 ומה שיפה HTML הוא שזה רק טקסט טהור. 1059 00:45:36,350 --> 00:45:38,220 וטקסט הוא בהחלט משהו שאתה יכול 1060 00:45:38,220 --> 00:45:42,040 להדפיס על ידי, פשוטו כמשמעו, קוראים את האותיות פונקצית f, או פונקצית ההדפסה. 1061 00:45:42,040 --> 00:45:46,160 ואכן, זה מה שזה PHP עכשיו הולך כדי לאפשר לנו לעשות. 1062 00:45:46,160 --> 00:45:48,610 אז בין דוגמאות ש יש בקוד המקור של היום, 1063 00:45:48,610 --> 00:45:51,610 בנוסף לחלק מהקוד ששמתי שם לפני רגע, 1064 00:45:51,610 --> 00:45:55,440 יש לנו תוכניות כמו זו למשל. 1065 00:45:55,440 --> 00:45:58,760 Froshims, או Freshman ביצוע עצמי ספורט, היה למעשה 1066 00:45:58,760 --> 00:46:01,500 אחד מהחוגים של הראשונים יש לי מעורב עם לפני שנים. 1067 00:46:01,500 --> 00:46:03,750 והשותף שלי ואני, עם כמה ילדים אחרים בקמפוס, 1068 00:46:03,750 --> 00:46:05,280 משמש כדי להפעיל את תכנית froshims. 1069 00:46:05,280 --> 00:46:07,420 אני מקבל הודעות הטקסט שלי עכשיו. 1070 00:46:07,420 --> 00:46:14,030 >> עכשיו כדי ש, חזרה ביום, אז זה היה 1996 או כך, לא היה אינטרנט, 1071 00:46:14,030 --> 00:46:17,395 אבל לא היה תהליך אוכל שם לא היה אתר לfroshims. 1072 00:46:17,395 --> 00:46:20,270 ולכן אם אתה רוצה להירשם ל כדורגל או כדורעף או מה, 1073 00:46:20,270 --> 00:46:22,240 היית למלא את הדבר הזה נקרא פיסת נייר, 1074 00:46:22,240 --> 00:46:25,060 והיית לחצות הרווארד חצר, והיית חלק אותו 1075 00:46:25,060 --> 00:46:29,230 לתוך חריץ הדואר של המשגיח, ש היה בWigglesworth, אחד מהמעונות. 1076 00:46:29,230 --> 00:46:31,270 וזה היית רשום. 1077 00:46:31,270 --> 00:46:33,570 והוא או היא היית אז להלחין לכם דואר אלקטרוני 1078 00:46:33,570 --> 00:46:36,514 באופן ידני, כמו ש רק עשיתי כאן עם מאיה, 1079 00:46:36,514 --> 00:46:38,930 ואז היית ניתן לאשר כמי שהיה רשום. 1080 00:46:38,930 --> 00:46:40,840 >> אז זה היה כמו נמוך תלויים פירות, כביכול. 1081 00:46:40,840 --> 00:46:42,930 זה היה סוג של הטיפשים ש אנחנו משתמשים בנייר לזה. 1082 00:46:42,930 --> 00:46:45,024 אני רוצה שיהיה מסוגל פשוט ללכת על אתר אינטרנט, 1083 00:46:45,024 --> 00:46:47,440 או שיש לי תלמידי שנה א 'ללכת על אתר, להירשם לספורט, 1084 00:46:47,440 --> 00:46:50,398 ורק להפוך הרבה דברים זה על ידי הצבת השמות והמיילים שלהם 1085 00:46:50,398 --> 00:46:51,850 וכן הלאה לתוך מסד נתונים. 1086 00:46:51,850 --> 00:46:56,510 ולמעשה, את הגרסה הראשונה של האתר, באמצעות HTML סופר מכוער, 1087 00:46:56,510 --> 00:46:58,195 אולי נראה משהו כזה. 1088 00:46:58,195 --> 00:47:01,070 זה היה למעשה, באופן אירוני, יותר מביך מחפש יותר מזה בחזרה 1089 00:47:01,070 --> 00:47:01,460 אז. 1090 00:47:01,460 --> 00:47:02,890 אבל השתמשתי בשפת תכנות. 1091 00:47:02,890 --> 00:47:06,060 לא PHP, אלא בשם פרל, שהיא שפה מבוגרת, 1092 00:47:06,060 --> 00:47:07,251 אבל דומה מאוד ברוחו. 1093 00:47:07,251 --> 00:47:09,000 ואני פשוט לגמרי לימד את עצמי. 1094 00:47:09,000 --> 00:47:12,208 וזה לקח לי זמן להבין את זה, שואל הרבה שאלות של חברים. 1095 00:47:12,208 --> 00:47:14,080 אבל הרעיונות יש היו בדיוק אותו הדבר. 1096 00:47:14,080 --> 00:47:18,050 כי מה שהיה באמת נועד PHP להוא לא חומר שורת הפקודה 1097 00:47:18,050 --> 00:47:20,450 אנחנו פשוט שיחקנו עם, אבל לתכנות אינטרנט. 1098 00:47:20,450 --> 00:47:24,960 >> זה באמת קשור בתכונתו להגדיר לאינטרנט, כדלקמן. 1099 00:47:24,960 --> 00:47:26,370 זה froshims. 1100 00:47:26,370 --> 00:47:28,720 ואם אני רוצה לרשום בטופס זה, 1101 00:47:28,720 --> 00:47:30,930 זה די מכוער, בהחלט, אבל תנו לי ללכת קדימה 1102 00:47:30,930 --> 00:47:34,440 ולהיות תלמיד פחות נוח, וכל מה שספורט עבור מתיוס, 1103 00:47:34,440 --> 00:47:35,630 לחץ רישום. 1104 00:47:35,630 --> 00:47:39,780 מה אני רוצה להיות מסוגל לעשות הוא שלח את הפרטים מטופס, 1105 00:47:39,780 --> 00:47:42,400 לא לשרת של גוגל כמו שעשינו בפעם האחרונה, לגמרי 1106 00:47:42,400 --> 00:47:47,100 רמאות באמצעות backend, אני רוצה ליישם קוד backend שלי. 1107 00:47:47,100 --> 00:47:51,410 מה שאומר שPHP כתיבה קוד שחי בכתובת אתר 1108 00:47:51,410 --> 00:47:54,180 ניתן להגיש שנתוני טופס ל. 1109 00:47:54,180 --> 00:47:57,510 >> ולאחר מכן את הקוד שלך, נכתב ב- PHP בשרת, 1110 00:47:57,510 --> 00:47:59,400 אז יכול להגיב שלקלט המשתמש. 1111 00:47:59,400 --> 00:48:03,287 כמו השם שלו או שלה, או את רמת נוחות, או במעונות, ולאחר מכן לעשות עם זה משהו. 1112 00:48:03,287 --> 00:48:05,120 במקרה זה, אני פשוט בטיפשות הדפיס אותו 1113 00:48:05,120 --> 00:48:06,750 כטקסט, שהוא לא כל כך יפה. 1114 00:48:06,750 --> 00:48:09,590 אבל אתה בהחלט יכול לדמיין, אם אתה יודע HTML, 1115 00:48:09,590 --> 00:48:13,010 ובקרוב תוכל לדעת איך ליצור HTML עם F הדפסה, והדפסה, 1116 00:48:13,010 --> 00:48:16,500 ופונקציות דומות, אתה בהחלט יכול ליצור דף אינטרנט יפה שאומר, 1117 00:48:16,500 --> 00:48:17,929 היי דוד, אתה עכשיו רשום. 1118 00:48:17,929 --> 00:48:20,220 אתה פחות נוח סטודנט ממתיוס, נכון? 1119 00:48:20,220 --> 00:48:23,880 >> אתה פשוט יכול להשתמש בחבורה של SES% כל, או סוגריים המסולסלים וסימן דולר 1120 00:48:23,880 --> 00:48:27,750 סימון הייתי לפני רגע, ל ליצור טקסט זה יותר ידידותי למשתמש 1121 00:48:27,750 --> 00:48:28,567 מזה. 1122 00:48:28,567 --> 00:48:30,150 אז בואו נסתכל על קובץ אחד זה. 1123 00:48:30,150 --> 00:48:34,666 Froshim אפס הנקודה PHP נראה כך. 1124 00:48:34,666 --> 00:48:37,860 1125 00:48:37,860 --> 00:48:43,500 כשטענתי מחדש IDE CS50, אפס froshim נראה כך. 1126 00:48:43,500 --> 00:48:45,700 זה froshim אפס הנקודה PHP. 1127 00:48:45,700 --> 00:48:47,730 ומה אתה שם לב על קובץ זה? 1128 00:48:47,730 --> 00:48:49,506 >> קהל: [לא ברור] 1129 00:48:49,506 --> 00:48:50,922 1 SPEAKER: מצטער, בקול רם יותר? 1130 00:48:50,922 --> 00:48:53,250 קהל: [לא ברור] זה מכיל ב- HTML. 1131 00:48:53,250 --> 00:48:57,130 ולמעשה, זה הוא, כי מה שמעניין על PHP 1132 00:48:57,130 --> 00:48:58,880 הוא שזה נועד להיות, לטוב 1133 00:48:58,880 --> 00:49:02,110 או לרע, התערבב עם קוד ה- HTML. 1134 00:49:02,110 --> 00:49:05,850 ואכן, למרות שזה קובץ, froshim אפס PHP נקודה, 1135 00:49:05,850 --> 00:49:11,470 יש תגובה PHP בראש שלו, זה הכל רק HTML. 1136 00:49:11,470 --> 00:49:17,655 אבל לעומת זאת, אם אני פותח את, בואו למשל, לרשום אפס הנקודה PHP, ש 1137 00:49:17,655 --> 00:49:19,550 פשוט יש תגובה גדולה בחלק העליון. 1138 00:49:19,550 --> 00:49:26,500 זה גם נראה כמעט לחלוטין כמו HTML, למעט מה? 1139 00:49:26,500 --> 00:49:29,350 קו, מה, 21 נראה קצת מוזר. 1140 00:49:29,350 --> 00:49:32,739 >> אבל שמתי לב שאני נכנסתי למצב PHP עם PHP סימן שאלת הסוגר פתוח. 1141 00:49:32,739 --> 00:49:33,780 אז יש לי כמה דברים. 1142 00:49:33,780 --> 00:49:36,724 ואז בסוף הקו ש כמעט יש לי, השאלה PHP סימן. 1143 00:49:36,724 --> 00:49:38,390 וזה מה שאני מתכוון בערבוביה. 1144 00:49:38,390 --> 00:49:41,910 אתה יכול לכתוב HTML, כי אתה פשוט רוצה השרת לירוק. 1145 00:49:41,910 --> 00:49:45,090 אבל אם אתה רוצה לעשות משהו חלקית דינמי דרך הדף, 1146 00:49:45,090 --> 00:49:47,699 כמו להכניס את השם שלי או מעונות או רמת נוחות, 1147 00:49:47,699 --> 00:49:49,490 אני יכול להשתמש בפונקציה כמו r הדפסה, שהוא 1148 00:49:49,490 --> 00:49:52,492 להדפיס רקורסיבית, שרק אומר להדפיס את המשתנה זה, עיצוב זה 1149 00:49:52,492 --> 00:49:53,200 עם זאת אתה רוצה. 1150 00:49:53,200 --> 00:49:55,880 זה ממש לא ל מטרות אנושיות, זה פשוט 1151 00:49:55,880 --> 00:49:58,290 לניפוי או למטרות אבחון. 1152 00:49:58,290 --> 00:49:59,460 אז ככה אני עשיתי את זה. 1153 00:49:59,460 --> 00:50:06,100 >> אם אני במקום ללכת froshims שתי הנקודות PHP, שם לב כי הפעולה מסוג זה 1154 00:50:06,100 --> 00:50:09,680 אינו רשום אפס הנקודה PHP כ old-- הקודם באמת היה. 1155 00:50:09,680 --> 00:50:11,222 אבל זה רשום שתי נקודות PHP. 1156 00:50:11,222 --> 00:50:13,680 אז בואו נסתכל איך זה אחד מתנהג קצת אחר. 1157 00:50:13,680 --> 00:50:15,140 אם אני נכנסתי לגרסה שתי. 1158 00:50:15,140 --> 00:50:20,430 אם כאן, אם אני נרשם כדוד, פחות נוח, ממעונות של מתיוס, 1159 00:50:20,430 --> 00:50:21,480 להירשם. 1160 00:50:21,480 --> 00:50:23,770 אז הפעם זה אמר, אתה רשומים, לא ממש. 1161 00:50:23,770 --> 00:50:25,370 בואו לראות מה שעשיתי כאן. 1162 00:50:25,370 --> 00:50:29,760 אם אני מסתכל על מרשם שתי נקודות PHP, זה יש כמה קוד PHP יותר. 1163 00:50:29,760 --> 00:50:35,410 זה קצת נקי, למרות שהיא עדיין עוטף קצת ארוך על הקו הזה. 1164 00:50:35,410 --> 00:50:36,260 שים לב כאן. 1165 00:50:36,260 --> 00:50:40,300 אני להדפיס את תג ה- HTML שלי, תג הראש שלי, התג שלי הכותרת, הראש, הגוף. 1166 00:50:40,300 --> 00:50:45,410 >> ואז אני מתחיל לומר דברים כמו להיכנס למצב PHP. 1167 00:50:45,410 --> 00:50:48,540 וכך תג ש, תושבת פתוחה סימן השאלה PHP-- PHP אומר, 1168 00:50:48,540 --> 00:50:53,460 היי, שרת, execute-- לפרש הדברים כמו PHP הבאים 1169 00:50:53,460 --> 00:50:55,030 עד שתראה את תג הסוף. 1170 00:50:55,030 --> 00:50:58,590 ולמרות שאתה אולי לא יודע כל PHP אחר ממה שראית עד כה, 1171 00:50:58,590 --> 00:51:01,290 סוג שלך יכול לקרוא זה די באופן אינטואיטיבי. 1172 00:51:01,290 --> 00:51:10,670 אם השם הוא ריק, או נוחות היא , או במעונות ריקה, מה עליי לעשות? 1173 00:51:10,670 --> 00:51:12,830 מה אני אומר למשתמש? 1174 00:51:12,830 --> 00:51:15,330 עליך לספק את השם שלך, נוחות, ומעונות, וכן הלאה. 1175 00:51:15,330 --> 00:51:17,750 אחר, אני אומר לך הוא רשום, גם לא ממש. 1176 00:51:17,750 --> 00:51:19,190 >> ואני אומר לא ממש כי אין בסיס הנתונים. 1177 00:51:19,190 --> 00:51:20,200 אני לא עושה שום דבר עם נתונים. 1178 00:51:20,200 --> 00:51:22,408 אני רק זורק אותו משם למטרות הדגמה. 1179 00:51:22,408 --> 00:51:24,320 עכשיו אני סוג של קמצתי על קו 22. 1180 00:51:24,320 --> 00:51:26,400 יש עוד תחביר יש, אבל סימן דולר 1181 00:51:26,400 --> 00:51:28,320 מדגיש הודעה היא די מעניין. 1182 00:51:28,320 --> 00:51:30,300 וזה מה שנחמד על PHP. 1183 00:51:30,300 --> 00:51:35,610 ב- PHP, יש לך מה שנקרא כמה משתנים גלובליים סופר. 1184 00:51:35,610 --> 00:51:38,430 הם סוג של אפילו יותר חשוב ממשתנים הגלובליים. 1185 00:51:38,430 --> 00:51:41,370 ואלה, כל מהוונים ככזה, מגיע עם PHP. 1186 00:51:41,370 --> 00:51:44,550 אז אם יש לך שרת שיש לו התקנת שרת אינטרנט, כמו אפאצ'י, 1187 00:51:44,550 --> 00:51:49,390 ולהתקין את השפה תמיכה עבור PHP, פתאום אתה 1188 00:51:49,390 --> 00:51:52,250 יכול להתחיל להשתמש אלה סופר משתנים גלובליים בקוד שלך. 1189 00:51:52,250 --> 00:51:54,330 >> ומה שיפה PHP היא שאם אתה רק 1190 00:51:54,330 --> 00:51:57,540 לכתוב קובץ שמסתיים בנקודה PHP, לשים אותו על שרת אינטרנט, 1191 00:51:57,540 --> 00:52:01,260 ואז אתה לשלוח טופס לזה באמצעות שתג פעולה ותג טופס, 1192 00:52:01,260 --> 00:52:05,110 שתכונת פעולה ב תג טופס, PHP והאינטרנט 1193 00:52:05,110 --> 00:52:09,360 דמויות לגמרי איך לתפוס כל זוגות מפתח ערכם החוצה 1194 00:52:09,360 --> 00:52:11,633 של הכתובת כמו שאלה סימן שאלה שווה חתולים, 1195 00:52:11,633 --> 00:52:14,782 זה יהיה להבין איך q וחתולים. 1196 00:52:14,782 --> 00:52:17,710 אם אתה שולח תמונה, או שם משתמש, או סיסמא לפייסבוק אוהבת, 1197 00:52:17,710 --> 00:52:21,360 PHP יהיה להבין בשבילך שבו כל הנתונים שהוא. 1198 00:52:21,360 --> 00:52:23,821 וזה פשוט ימסור אתה מערך אסוציאטיבי 1199 00:52:23,821 --> 00:52:27,560 פוסט תחתון סימן דולר בשם, או סימן דולר מדגיש לקבל, 1200 00:52:27,560 --> 00:52:30,590 תלוי אם אתה באמצעות הגשות גט או הודעה. 1201 00:52:30,590 --> 00:52:32,950 וזה פשוט ימסור לך משתנה גלובלי סופר, 1202 00:52:32,950 --> 00:52:37,254 כך שאם אתה רוצה לקבל בשם שהמשתמש שהוגש באמצעות אינטרנט ש 1203 00:52:37,254 --> 00:52:41,894 טופס, אתה ממש פשוט לומר את השם של המשתנה הגלובלי הסופר, ציטוט, 1204 00:52:41,894 --> 00:52:43,380 סוף ציטוט, שם. 1205 00:52:43,380 --> 00:52:46,144 וציטוט, נוחות סוף ציטוט, וציטוט, מעונות סוף ציטוט. 1206 00:52:46,144 --> 00:52:48,810 ואנחנו הולכים להיות מסוגלים לעשות זה ועוד כל כך הרבה עם PHP. 1207 00:52:48,810 --> 00:52:50,540 ולמרות שזה היה מבט מערבולת בזה, 1208 00:52:50,540 --> 00:52:51,980 אנו לצלול בשבוע הבא הרבה יותר. 1209 00:52:51,980 --> 00:52:54,247 אנחנו נציג בסיס הנתונים כך שאתה בעצם 1210 00:52:54,247 --> 00:52:56,816 הולך להתחיל ביישום based-- הסחר האלקטרוני שלך 1211 00:52:56,816 --> 00:52:59,150 כמו אתר בזמן של שבוע בלבד. 1212 00:52:59,150 --> 00:53:02,750 אז נתראה בפעם הבאה, ו מקווה שיש לך הודעות טקסט. 1213 00:53:02,750 --> 00:53:05,450 שלום. 1214 00:53:05,450 --> 00:53:06,950 >> [השמעת מוסיקה] 1215 00:53:06,950 --> 00:53:11,450 1216 00:53:11,450 --> 00:53:12,950 >> [פתיחת דלת] 1217 00:53:12,950 --> 00:53:14,475 >> SPEAKER 2: היי. 1218 00:53:14,475 --> 00:53:15,350 SPEAKER 3: מה קורה? 1219 00:53:15,350 --> 00:53:17,750 SPEAKER 2: מה אתה עושה? 1220 00:53:17,750 --> 00:53:19,850 SPEAKER 3: עבודה על סט בעיה. 1221 00:53:19,850 --> 00:53:21,050 SPEAKER 2: נחמד. 1222 00:53:21,050 --> 00:53:22,550 כיף. 1223 00:53:22,550 --> 00:53:23,150 >> [כיף] 1224 00:53:23,150 --> 00:53:25,584 >> מה הן-- אה, מה אתה עושה כאן? 1225 00:53:25,584 --> 00:53:26,750 SPEAKER 3: Just hanging out. 1226 00:53:26,750 --> 00:53:28,134 רק עכשיו חזרתי מחדר הכושר. 1227 00:53:28,134 --> 00:53:30,050 לא יכולתי שלא לב כאשר אנו גבוהים fived, 1228 00:53:30,050 --> 00:53:32,450 שיש לך ידיים קשות למדי. 1229 00:53:32,450 --> 00:53:33,950 האם אתה הולך לחדר הכושר? 1230 00:53:33,950 --> 00:53:35,150 >> SPEAKER 2: מס ' 1231 00:53:35,150 --> 00:53:36,650 מס ' 1232 00:53:36,650 --> 00:53:38,450 >> 3 SPEAKER: אחי, אתה מסתכל די גדול. 1233 00:53:38,450 --> 00:53:45,950 וזה רע, כי כולם יודעים כדור המספר 8 הוא האיש הגדול בקמפוס. 1234 00:53:45,950 --> 00:53:48,050 כיף. 1235 00:53:48,050 --> 00:53:49,550 >> SPEAKER 2: אה, לא. 1236 00:53:49,550 --> 00:53:50,450 לא, אני חושב שאני טוב. 1237 00:53:50,450 --> 00:53:52,300 אני חושב שאני טוב. 1238 00:53:52,300 --> 00:53:54,097