1 00:00:00,000 --> 00:00:02,538 >> [השמעת מוסיקה] 2 00:00:02,538 --> 00:00:10,800 3 00:00:10,800 --> 00:00:12,390 >> ERIC אויאנג: היי, כולם. 4 00:00:12,390 --> 00:00:13,580 ברוך הבא. 5 00:00:13,580 --> 00:00:16,860 זהו בניין דינמי Web Apps עם Laravel. 6 00:00:16,860 --> 00:00:18,290 שמי אריק אויאנג. 7 00:00:18,290 --> 00:00:23,860 אני בכיתה י 'לומדת מדעי חברה עם שני במדעי מחשב, 8 00:00:23,860 --> 00:00:27,290 ואני גר באדמס הבית, כאן בהרווארד. 9 00:00:27,290 --> 00:00:33,340 >> אז Laravel, ברוב הליבה שלה, היא מסגרת יישום האינטרנט MVC. 10 00:00:33,340 --> 00:00:38,265 אז אוהב את מה שיש לך חבר ' כבר עושה עם CS50 האוצר, 11 00:00:38,265 --> 00:00:42,480 Laravel היא מסגרת המאפשרת לך לבנות יישומי אינטרנט דינמיים. 12 00:00:42,480 --> 00:00:47,710 אז אתה יכול לחשוב על זה במובנים מסוימים כשלוחה של הסוג של דברים 13 00:00:47,710 --> 00:00:50,470 אתה כבר עושה בCS50 האוצר, אבל מערכת זה 14 00:00:50,470 --> 00:00:55,890 חזק הרבה יותר, הרבה יותר אלגנטי במובנים מסוימים, 15 00:00:55,890 --> 00:00:57,870 ומספק הרבה פונקציונלי בשבילך 16 00:00:57,870 --> 00:01:03,060 לבנות מורכב למדי יישומי אינטרנט. 17 00:01:03,060 --> 00:01:05,010 אז בואו לעבור כמה התכונות העיקריות, 18 00:01:05,010 --> 00:01:09,550 ואז לצלול לתוך דוגמא לבניית בלוג 19 00:01:09,550 --> 00:01:12,500 יישום עם Laravel. 20 00:01:12,500 --> 00:01:16,700 >> אז אחד הדברים הראשונים ש מבדיל אותו מסוג MVC עבודה 21 00:01:16,700 --> 00:01:22,100 שאתה כבר עושה עם CS50 זה כולל מנוע ORM. 22 00:01:22,100 --> 00:01:27,410 אז ORM עומד לאובייקט מיפוי יחסי. 23 00:01:27,410 --> 00:01:31,080 אז זה מאפשר לך לבנות שכבת הפשטה 24 00:01:31,080 --> 00:01:35,230 בין בסיס הנתונים ובקרים שלך. 25 00:01:35,230 --> 00:01:39,150 כך שלא כמו בCS50 האוצר שבי שלך ישירות לעשות שאילתות, 26 00:01:39,150 --> 00:01:44,790 שכבת ORM מאפשרת לך מופשט שממנו וליצור 27 00:01:44,790 --> 00:01:48,085 דגמים שהם יותר חזקים מ אתה יכול ישירות עם שאילתות SQL. 28 00:01:48,085 --> 00:01:50,590 29 00:01:50,590 --> 00:01:53,510 >> דבר נוסף שבאמת מועיל הוא תבניות להעברה בירושה. 30 00:01:53,510 --> 00:01:58,990 אז תוכל להבחין בCS50 האוצר, אתה בסופו שכתוב הרבה דברים, 31 00:01:58,990 --> 00:02:03,150 שבו מקומות שאתה עלול שימוש חוזר בדברים, אתה לא מסוגל. 32 00:02:03,150 --> 00:02:08,539 אז הנה בLaravel, אתה יכול להשתמש במה שהוא ידוע כמנוע תבנית הלהב 33 00:02:08,539 --> 00:02:10,530 כדי ליצור פריסת אדון. 34 00:02:10,530 --> 00:02:15,840 ומשם, אתה יכול לרשת כך שמשנת תבניות בעצם יכולה 35 00:02:15,840 --> 00:02:21,210 כולל אלמנטים בתוך שתבנית בסיס גדולה יותר. 36 00:02:21,210 --> 00:02:21,810 >> הגירה. 37 00:02:21,810 --> 00:02:29,010 אז זה תכונות סטנדרטי למדי ב רוב מסגרות יישום האינטרנט מודרניות. 38 00:02:29,010 --> 00:02:32,710 אז זה מאפשר לך לייצג שינויי סכימת מסד נתונים בקוד. 39 00:02:32,710 --> 00:02:39,200 אז בלי הולך להגיד, phpMyAdmin, למעשה אתה יכול ליצור הגירות אלה 40 00:02:39,200 --> 00:02:44,660 שבו אתה מייצג את בסיס הנתונים סכימת שינויים בקוד ישירות. 41 00:02:44,660 --> 00:02:48,070 וזה מאפשר לך to-- במיוחד אם יש לך מספר רב של אנשים שעובדים 42 00:02:48,070 --> 00:02:52,650 באותו application-- האינטרנט לעקוב אחר שינויים אלה, 43 00:02:52,650 --> 00:02:55,380 אומר בGitHub, או כמה מאגר אחר. 44 00:02:55,380 --> 00:03:00,880 >> אז זה באמת מועיל וממתן את הצורך 45 00:03:00,880 --> 00:03:04,580 ל, למשל, מעביר הרבה מזבלות של SQL. 46 00:03:04,580 --> 00:03:07,140 ולבסוף, מלחין הוא משהו באמת, באמת שימושי 47 00:03:07,140 --> 00:03:09,840 המאפשר לך להשתמש אחרים הקוד של אנשים לעשות דברים מדהים. 48 00:03:09,840 --> 00:03:14,020 אז Laravel של מובנה כ כמה חבילות מלחין. 49 00:03:14,020 --> 00:03:17,870 אז אומר שאם אתה רוצה להביא בחבילת אימות 50 00:03:17,870 --> 00:03:23,440 או אם אתה רוצה להביא כמה סוג של גנרטור תסריט או מנהל 51 00:03:23,440 --> 00:03:26,910 ממשק, אתה יכול לחבר ולשחק אלה רכיבים עם מלחין. 52 00:03:26,910 --> 00:03:30,470 53 00:03:30,470 --> 00:03:31,570 >> אז בואו נתחיל. 54 00:03:31,570 --> 00:03:35,185 כל שאלות ממך בחורים לפני שנתחיל? 55 00:03:35,185 --> 00:03:36,500 אין שאלות? 56 00:03:36,500 --> 00:03:37,490 מגניב. 57 00:03:37,490 --> 00:03:39,990 אז הצעד הראשון הוא התקנת מלחין. 58 00:03:39,990 --> 00:03:43,590 אז מלחין מאפשר לך לנהל יחסי תלות אלה, 59 00:03:43,590 --> 00:03:47,770 בין אם זה במסגרת Laravel או כמה סיומת אחרת של צד שלישי. 60 00:03:47,770 --> 00:03:50,400 הפקודה הראשונה מאפשרת לך להוריד מלחין, 61 00:03:50,400 --> 00:03:55,890 והפקודה השנייה מאפשרת לך להעביר אותו לתיקיית bin המקומית שלך 62 00:03:55,890 --> 00:04:01,340 כך שאתה יכול לרוץ מלחין ישירות דרך המסוף. 63 00:04:01,340 --> 00:04:05,405 >> אחרי זה, קדימה, ליצור פרויקט Laravel חדש. 64 00:04:05,405 --> 00:04:07,280 אנחנו בעצם הולכים להשתמש בחלק קוד לדוגמה 65 00:04:07,280 --> 00:04:10,760 כי אני כבר להרכיב כדי ליצור את הבלוג הזה. 66 00:04:10,760 --> 00:04:14,420 אבל אם אתה מתחיל מ שריטה, עליך להשתמש בפקודה זו 67 00:04:14,420 --> 00:04:18,160 עד כאן, מלחין ליצור פרויקט, laravel לקצץ laravel, ולאחר מכן 68 00:04:18,160 --> 00:04:19,940 שמו של הפרויקט שלך. 69 00:04:19,940 --> 00:04:22,275 ושיכלול כל קוד ההפצה 70 00:04:22,275 --> 00:04:23,733 להתחלת פרויקט Laravel חדש. 71 00:04:23,733 --> 00:04:28,870 אז לפרויקטי גמר CS50 שלך, כנראה רוצה להשתמש בפקודה ש. 72 00:04:28,870 --> 00:04:31,210 >> אבל אנחנו הולכים להתחיל עם זה. 73 00:04:31,210 --> 00:04:34,630 אז ברגע שעשית כי, אתה הולך לקבל 74 00:04:34,630 --> 00:04:40,190 מספר נרחב למדי קבצים בblog50. 75 00:04:40,190 --> 00:04:43,840 אז בואו רק לעבור חלק ממרכיבים אלה. 76 00:04:43,840 --> 00:04:49,060 תוכל להבחין במסלול זה ספרייה, יש תיקיית יישום. 77 00:04:49,060 --> 00:04:52,960 בתוך תיקיית היישום, יש כמה תיקיות מועילות. 78 00:04:52,960 --> 00:04:56,330 שימו לב להתחיל עם היא תיקיית config זה. 79 00:04:56,330 --> 00:04:59,210 אז זה מגדיר את אופן ש יישום האינטרנט שלך הוא 80 00:04:59,210 --> 00:05:04,350 הולך, למשל, לאמת או אנשים דברים או במזומן להתחבר למסד הנתונים. 81 00:05:04,350 --> 00:05:06,400 >> ומה באמת מועיל הוא שLaravel 82 00:05:06,400 --> 00:05:09,130 מאפשר לך להגדיר שונה סביבות פיתוח. 83 00:05:09,130 --> 00:05:12,090 אז מה שעשינו כאן הוא אם אנחנו הולכים תחת התיקייה המקומית, 84 00:05:12,090 --> 00:05:14,720 יש קובץ database.php. 85 00:05:14,720 --> 00:05:18,320 ותשימו לב שאנחנו כאן להגדיר חיבור MySQL ש 86 00:05:18,320 --> 00:05:22,230 מאפשר לאנשים להתחבר לשרת MySQL זה 87 00:05:22,230 --> 00:05:24,310 ישירות על מכשיר CS50. 88 00:05:24,310 --> 00:05:26,980 ואנחנו מתחברים למסד נתונים שהקמתי בשם Blog50. 89 00:05:26,980 --> 00:05:31,390 90 00:05:31,390 --> 00:05:37,085 >> אז בואו באמת ללכת קדימה ו להפעיל את גרסת העובדת של זה, 91 00:05:37,085 --> 00:05:39,710 רק כדי לקבל תחושה של מה ש יישום שאנחנו בונים 92 00:05:39,710 --> 00:05:41,390 נראה. 93 00:05:41,390 --> 00:05:46,150 אז יש לי עותק של Blog50 זה הושלם. 94 00:05:46,150 --> 00:05:51,910 אז בעצם Laravel בנה בשרת 95 00:05:51,910 --> 00:05:53,910 שאתה יכול לרוץ ישירות משורת הפקודה. 96 00:05:53,910 --> 00:05:56,900 אז זה דומה ל PSet לפני כאשר אתה בעצם 97 00:05:56,900 --> 00:06:00,580 לבנות שרת משלך בג אז יש להם אחד שנבנה בכך 98 00:06:00,580 --> 00:06:04,010 שאתה יכול להריץ יישומי Laravel שלך ישירות משורת הפקודה. 99 00:06:04,010 --> 00:06:11,650 >> אז אם אנחנו עושים מלאכה php לשרת, זה ישיק שרת פיתוח 100 00:06:11,650 --> 00:06:13,880 ביציאה 8000. 101 00:06:13,880 --> 00:06:18,250 אז אם אנחנו הולכים למארח מקומי 8,000, תוכל להבחין כי, היי. 102 00:06:18,250 --> 00:06:20,800 יש לנו הבלוג והפעלה שלנו. 103 00:06:20,800 --> 00:06:25,090 אז Laravel כאן הוא יצירה בעמוד הראשון של הבלוג שלנו. 104 00:06:25,090 --> 00:06:26,350 יישום פשוט מאוד. 105 00:06:26,350 --> 00:06:28,610 אבל יש כמה תכונות ממש מגניבות 106 00:06:28,610 --> 00:06:31,346 שהיא מספקת מתחת למכסה המנוע. 107 00:06:31,346 --> 00:06:33,680 >> אז של יישום הבלוג פשוט. 108 00:06:33,680 --> 00:06:36,430 אם אנחנו רוצים ליצור פרסום, אנחנו יכולים ללחוץ על לחצן זה. 109 00:06:36,430 --> 00:06:40,470 אנחנו יכולים לומר, "היי, כולם. 110 00:06:40,470 --> 00:06:44,530 זה ממש כיף סמינר ", למשל. 111 00:06:44,530 --> 00:06:46,560 ולכתוב משהו כאן למטה. 112 00:06:46,560 --> 00:06:48,180 טקסט כאן. 113 00:06:48,180 --> 00:06:51,327 אם לחץ על שלח, שתצליח שם לב שהבלוג החדש שלנו 114 00:06:51,327 --> 00:06:53,410 פוסט נוסף ל העמוד ראשון של הבלוג. 115 00:06:53,410 --> 00:06:56,532 116 00:06:56,532 --> 00:06:59,970 אם נחזור לכאן, תוכל להבחין כי היו כמה תגובות כבר 117 00:06:59,970 --> 00:07:01,160 בבלוג. 118 00:07:01,160 --> 00:07:03,630 אז אם אנחנו לגלול למטה, שתצליחו שם לב שיהונתן טאן אומר 119 00:07:03,630 --> 00:07:08,020 שהוא הסתקרן מאוד מהפוסט הזה. 120 00:07:08,020 --> 00:07:11,570 >> אז אנחנו נלך לאיך אובייקט מיפוי יחסי מאפשר 121 00:07:11,570 --> 00:07:16,668 לך לעשות יחסים אלה ב דרך די חלקה גם כן. 122 00:07:16,668 --> 00:07:17,660 מגניב. 123 00:07:17,660 --> 00:07:20,290 כל שאלות על פונקציונלי של מה שאנחנו הולכים לבנות? 124 00:07:20,290 --> 00:07:22,850 125 00:07:22,850 --> 00:07:23,840 מגניב. 126 00:07:23,840 --> 00:07:28,170 אז בואו נתחיל עם בפועל יצירת טבלאות מסד הנתונים. 127 00:07:28,170 --> 00:07:33,190 >> אז אזכור שבCS50 האוצר, אתה להרכיב שולחן למשתמשים 128 00:07:33,190 --> 00:07:37,100 כמו גם ל מניות בתיק ההשקעות שלך. 129 00:07:37,100 --> 00:07:41,040 אז כמו שציינו קודם לכן, מה אנו משתמשים בLaravel 130 00:07:41,040 --> 00:07:43,090 הוא משהו שנקרא נדידה. 131 00:07:43,090 --> 00:07:48,570 אז אם נחזור ל קוד הפצה כאן, 132 00:07:48,570 --> 00:07:51,790 הפקודה הראשונה שהיא מועיל שLaravel מספק לך 133 00:07:51,790 --> 00:07:54,240 היא הפקודה להגר זה. 134 00:07:54,240 --> 00:07:59,220 אז אנחנו יכולים לעשות להגר אומן php: לעשות. 135 00:07:59,220 --> 00:08:01,760 אז זה מאפשר לנו ליצור הגירה. 136 00:08:01,760 --> 00:08:03,710 >> ואז אנחנו רוצים כדי ליצור הגירה 137 00:08:03,710 --> 00:08:07,050 נקרא create_posts_table, שהוא הולך 138 00:08:07,050 --> 00:08:11,521 להיות לאן אנחנו הולכים ל להיות אחסון ההודעות שנכתבו בבלוג שלנו. 139 00:08:11,521 --> 00:08:14,690 ותוכל להבחין כאן כי הוא פועל דרך כמה קוד שלמעשה 140 00:08:14,690 --> 00:08:17,580 מייצר קובץ עם חותמת זמן על זה. 141 00:08:17,580 --> 00:08:22,260 אז אם אנחנו הולכים ומסתכלים על מסד נתונים, אנו שמים לב תחת הגירות 142 00:08:22,260 --> 00:08:24,830 שזה יצר קובץ ריק עבורנו ש 143 00:08:24,830 --> 00:08:30,100 יש קוד מוכן מראש עם שם שצוינו, ליצור שולחן הודעות. 144 00:08:30,100 --> 00:08:31,670 >> ויש לו שני תפקידים בו. 145 00:08:31,670 --> 00:08:40,539 למעלה הוא מה שאנחנו רוצים לפעול בעת ההגירה מוחלת על בסיס הנתונים. 146 00:08:40,539 --> 00:08:46,380 ולמטה הוא מה שאנחנו הולכים לעשות כאשר אנו רוצים להפוך הגירה. 147 00:08:46,380 --> 00:08:49,890 אז הנה בואו נתחיל מ עם כתיבת הגירה זו. 148 00:08:49,890 --> 00:08:55,480 אז יש מעמד מועיל בLaravel נקרא סכימה. 149 00:08:55,480 --> 00:08:57,910 >> אז אנחנו הולכים לרוץ סכימה :: ליצור. 150 00:08:57,910 --> 00:09:01,080 ואנחנו הולכים ליצור טבלה בשם הודעות. 151 00:09:01,080 --> 00:09:05,980 וכאן אנחנו מיישמים זאת באמצעות פונקציה. 152 00:09:05,980 --> 00:09:11,010 ובתוך כאן, אנחנו הולכים בעצם לציין את התוכן של השולחן שלנו. 153 00:09:11,010 --> 00:09:14,860 אנחנו הולכים ליצור זהות, אשר הוא אוטומטי הגדלה. 154 00:09:14,860 --> 00:09:19,850 155 00:09:19,850 --> 00:09:24,350 >> בנוסף, אנחנו הולכים כדי ליצור שדה ש 156 00:09:24,350 --> 00:09:27,060 מייצג את הכותרת של הפוסט בבלוג שלנו. 157 00:09:27,060 --> 00:09:29,880 158 00:09:29,880 --> 00:09:36,950 גם אנחנו הולכים ליצור שדה לאחסון הטקסט של הפוסט בבלוג שלנו. 159 00:09:36,950 --> 00:09:40,600 ולבסוף, אנחנו הולכים כדי לאחסן כמה חותמות זמן 160 00:09:40,600 --> 00:09:44,690 כאשר הודעתנו נוצרה ומתי זה עודכן. 161 00:09:44,690 --> 00:09:46,240 וללמטה, זה די פשוט. 162 00:09:46,240 --> 00:09:53,974 כל מה שאנחנו רוצים לעשות הוא ירידה השולחן שיצרנו. 163 00:09:53,974 --> 00:09:54,930 >> גדול. 164 00:09:54,930 --> 00:09:55,850 יש שאלות? 165 00:09:55,850 --> 00:09:59,730 166 00:09:59,730 --> 00:10:07,110 אז עכשיו אם אנחנו הולכים קדימה and-- למעשה, מארח מקומי, 167 00:10:07,110 --> 00:10:09,640 תן לי למחוק את מה שהיה לנו קודם לכן. 168 00:10:09,640 --> 00:10:14,330 169 00:10:14,330 --> 00:10:15,190 עבור למאגרי מידע. 170 00:10:15,190 --> 00:10:17,640 אני הולך למחוק את מה שהיה לנו קודם לכן. 171 00:10:17,640 --> 00:10:22,870 ירידה זו וליצור מסד נתונים חדש Blog50. 172 00:10:22,870 --> 00:10:24,930 אז מה עכשיו הקסום חלק כאן כי אנחנו 173 00:10:24,930 --> 00:10:28,760 ניתן להחיל הגירות אלה ישירות למסד הנתונים באמצעות שורת הפקודה 174 00:10:28,760 --> 00:10:29,290 כלי. 175 00:10:29,290 --> 00:10:35,100 אז אם אנחנו עושים להגר אומן php, תוכל להבחין כי, היי. 176 00:10:35,100 --> 00:10:38,320 זה יצר את שולחן ההגירה, שאנחנו נסתכל בקצת, 177 00:10:38,320 --> 00:10:40,540 וזה מיושם הגירה ראשונה זה. 178 00:10:40,540 --> 00:10:43,860 179 00:10:43,860 --> 00:10:48,920 >> אז אנחנו מסתכלים Blog50, תוכל להבחין שזה יצר שני שולחנות עבורנו. 180 00:10:48,920 --> 00:10:50,300 ראשון הוא שולחן הגירה זו. 181 00:10:50,300 --> 00:10:54,130 אז אם אנחנו לגלוש זה, תוכל להבחין כי טבלה זו היא פשוטה למדי. 182 00:10:54,130 --> 00:10:55,490 זה פשוט אמר ש, היי. 183 00:10:55,490 --> 00:10:58,960 אנחנו כבר מיושמים הגירה זו. 184 00:10:58,960 --> 00:11:01,470 אנחנו הולכים אחורה ולהסתכל על הודעות. 185 00:11:01,470 --> 00:11:05,720 תוכל להבחין כי המבנה זה בדיוק מה ששאלנו אותו. 186 00:11:05,720 --> 00:11:07,350 יש לנו תעודת זהות הגדלה אוטומטית. 187 00:11:07,350 --> 00:11:10,450 יש לנו מחרוזת לאחסון הכותרת, ושדה טקסט 188 00:11:10,450 --> 00:11:11,450 לאחסון התוכן. 189 00:11:11,450 --> 00:11:14,040 190 00:11:14,040 --> 00:11:14,706 גדול. 191 00:11:14,706 --> 00:11:15,560 מגניב. 192 00:11:15,560 --> 00:11:21,626 כל שאלות על הגירות עבודה, איך אנחנו יכולים ליישם אותם? 193 00:11:21,626 --> 00:11:22,126 לא? 194 00:11:22,126 --> 00:11:23,600 מגניב. 195 00:11:23,600 --> 00:11:26,630 אז עכשיו אנחנו הולכים קדימה ובעצם ליצור את המודל. 196 00:11:26,630 --> 00:11:33,100 אז אנחנו רוצים ליצור מודל הודעות ש מאחסן הפשטה של ​​מסד הנתונים. 197 00:11:33,100 --> 00:11:41,040 אז במקום לעשות שאילתות MySQL ישירות, אנחנו הולכים ליצור. 198 00:11:41,040 --> 00:11:45,840 אז אנחנו צריכים ליצור תיקייה בדגמים כאן בשם. 199 00:11:45,840 --> 00:11:48,905 ובתוך כאן, אנחנו הולכים ליצור קובץ בשם post.php. 200 00:11:48,905 --> 00:11:52,280 201 00:11:52,280 --> 00:11:54,550 >> בתוך קובץ PHP זה, אנחנו הולכים ליצור 202 00:11:54,550 --> 00:12:00,590 לאחר מעמד המשתרע רהוט. 203 00:12:00,590 --> 00:12:08,950 הרהוט הוא שמו של ORM מנוע שLaravel מספק. 204 00:12:08,950 --> 00:12:12,799 וכאן, היינו מצפה ש אתה באמת צריך לכתוב קצת קוד. 205 00:12:12,799 --> 00:12:14,840 אנחנו הולכים לכתוב כמה פונקציות עוזר מאוחר יותר. 206 00:12:14,840 --> 00:12:19,420 אבל מחוץ לקופסא, זה כבר יהיה לזהות מה הוא בבסיס הנתונים 207 00:12:19,420 --> 00:12:24,770 ואנחנו יכולים לגשת, אומרים, את הטקסט של הפוסט בבלוג שלנו או את הכותרת, 208 00:12:24,770 --> 00:12:29,230 וליצור דברים ישירות עם פחות או יותר שאף קוד כלשהו. 209 00:12:29,230 --> 00:12:31,110 >> אז זה אחד מהמרכיבים הקסומים. 210 00:12:31,110 --> 00:12:34,980 ורוח פעם אחת זה בכיתה הוא מנוצה באופן מלא יותר, 211 00:12:34,980 --> 00:12:40,480 אנחנו כוללים מידע על מה ש זה קשור ל, כך ההערות. 212 00:12:40,480 --> 00:12:42,310 גם ליצור פונקציה כך אנחנו יכולים למעשה 213 00:12:42,310 --> 00:12:46,340 ישירות לקבל את כתובת האתר של פוסט בבלוג דף. 214 00:12:46,340 --> 00:12:46,840 מגניב. 215 00:12:46,840 --> 00:12:47,881 כל שאלות על זה? 216 00:12:47,881 --> 00:12:51,140 217 00:12:51,140 --> 00:12:51,832 מס ' 218 00:12:51,832 --> 00:12:54,100 מגניב. 219 00:12:54,100 --> 00:12:57,860 >> אז עכשיו ברגע שיש לנו המודל שלנו, אנחנו רוצה ליצור בקר זה 220 00:12:57,860 --> 00:13:02,340 תוכל להתממשק עם מודלים אלה, ולאחר מכן את מסד הנתונים. 221 00:13:02,340 --> 00:13:05,540 אז אם אנחנו נסתכל ב BlogController, שתצליח 222 00:13:05,540 --> 00:13:08,490 שם לב שיש לא הרבה כאן עכשיו. 223 00:13:08,490 --> 00:13:13,220 כל מה שיש הוא פונקצית מדד שיוצר בדף הבית, 224 00:13:13,220 --> 00:13:18,220 אבל בלי שום דבר יש להציג עדיין. 225 00:13:18,220 --> 00:13:20,560 >> אז הפונקציה הראשונה שאנחנו הולכים ליצור 226 00:13:20,560 --> 00:13:25,790 הוא אחד המאפשר לנו כדי ליצור פוסט בבלוג. 227 00:13:25,790 --> 00:13:30,540 אז אנחנו הולכים להכריז פונקציה חדשה בשם newPost. 228 00:13:30,540 --> 00:13:36,430 ובתוך כאן פשוט, אנחנו הולכים כדי להגדיר את הפריסה של דף זה 229 00:13:36,430 --> 00:13:41,850 להיות לדקלם גרסה, אם אתה זוכר מCS50, 230 00:13:41,850 --> 00:13:48,020 של תבנית זו נקראת blog.new, ש אנחנו הולכים ליצור בקצת. 231 00:13:48,020 --> 00:13:53,170 >> תוכל להבחין כאן בקו שישה ש אנחנו צוינו משתנים זה, פריסה. 232 00:13:53,170 --> 00:13:55,820 ואם אנחנו נסתכל בתיקיית הצפיות, 233 00:13:55,820 --> 00:14:01,640 יש תיקיית פריסות, ש כולל קובץ HTML בסיסי מאוד. 234 00:14:01,640 --> 00:14:04,680 והערה, תוכל להבחין שיש לנו מיכל זה 235 00:14:04,680 --> 00:14:06,800 כאן שמניב תוכן. 236 00:14:06,800 --> 00:14:09,460 אז בתוך התבנית שלנו מה אנחנו הולכים לעשות 237 00:14:09,460 --> 00:14:16,180 הוא יוצר את מה שהולך להיות להחליף ישירות בתוך פריסה זו. 238 00:14:16,180 --> 00:14:20,060 >> אז אמרתי שאנחנו רוצים להבהיר תבנית נקראת blog.new. 239 00:14:20,060 --> 00:14:23,790 אבל בתוך הבלוג, יש עדיין לא תבנית חדשה. 240 00:14:23,790 --> 00:14:26,910 אז אנחנו הולכים ליצור קובץ בשם new.blade.php. 241 00:14:26,910 --> 00:14:29,860 זה אומר שLaravel קובץ זה PHP צריך 242 00:14:29,860 --> 00:14:31,720 להיות שניתנו עם מנוע תבנית להב. 243 00:14:31,720 --> 00:14:39,510 244 00:14:39,510 --> 00:14:42,630 אז זה די קובץ פשוט. 245 00:14:42,630 --> 00:14:46,690 זה הולך להיות בצורה שבי אנחנו בעצם להוסיף בפוסט בבלוג. 246 00:14:46,690 --> 00:14:49,220 >> אז הקסם לכאן מ ירושה היא ש, היי. 247 00:14:49,220 --> 00:14:52,950 אנחנו רוצים לציין ש סעיף, סעיף התוכן 248 00:14:52,950 --> 00:14:56,640 כאן, שהוא מותווה על ידיsection ו@stop. 249 00:14:56,640 --> 00:15:02,260 אז מה שביניהם כאן הולך להחליף לפריסת האדון. 250 00:15:02,260 --> 00:15:07,000 והנה מה שאנחנו רוצים לעשות הוא מאוד פשוט ליצור קובץ HTML חדש. 251 00:15:07,000 --> 00:15:08,690 בואו פשוט להוסיף כותרת מהירה. 252 00:15:08,690 --> 00:15:09,600 הוסף פוסט בבלוג. 253 00:15:09,600 --> 00:15:12,110 254 00:15:12,110 --> 00:15:15,390 ובתוך זה, אנחנו הולך ליצור צורה. 255 00:15:15,390 --> 00:15:19,197 >> טופס זה הולך להיות פעולה. 256 00:15:19,197 --> 00:15:21,780 וזה הולך להיות משהו שנחליף בהמשך, 257 00:15:21,780 --> 00:15:24,200 ואנו רואים כיצד ניתוב משתלב כאן. 258 00:15:24,200 --> 00:15:33,600 אבל אנחנו פשוט הולכים להגדיר לעת עתה שזה הולך לכתובת עם המסלול 259 00:15:33,600 --> 00:15:34,860 מcreatePost. 260 00:15:34,860 --> 00:15:38,200 261 00:15:38,200 --> 00:15:40,320 ואז זה הולך יש פוסט שיטה. 262 00:15:40,320 --> 00:15:43,940 263 00:15:43,940 --> 00:15:47,590 בתוך כאן, אנחנו הולכים יש שני שדות. 264 00:15:47,590 --> 00:15:49,170 כיתת Div = "טופס-קבוצה". 265 00:15:49,170 --> 00:15:55,806 >> אנו משתמשים בספריית Bootstrap CSS סיפק באדיבות טוויטר. 266 00:15:55,806 --> 00:15:57,720 אז אנחנו הולכים ליצור שני אלה. 267 00:15:57,720 --> 00:16:01,700 268 00:16:01,700 --> 00:16:05,970 אז קלט ראשון זה הולך להיות הכותרת. 269 00:16:05,970 --> 00:16:08,437 אז קלט name = "כותרת". 270 00:16:08,437 --> 00:16:09,270 Class = "formcontrol". 271 00:16:09,270 --> 00:16:13,540 272 00:16:13,540 --> 00:16:14,425 סוג = "text". 273 00:16:14,425 --> 00:16:16,050 אני הולך להוסיף מציין מיקום = "כותרת". 274 00:16:16,050 --> 00:16:21,570 275 00:16:21,570 --> 00:16:26,140 >> ולאחר מכן השני הוא הולך להיות אזור טקסט. 276 00:16:26,140 --> 00:16:27,827 שם = "תוכן". 277 00:16:27,827 --> 00:16:28,660 Class = "formcontrol". 278 00:16:28,660 --> 00:16:33,402 279 00:16:33,402 --> 00:16:34,610 ומציין מיקום = "כתוב כאן". 280 00:16:34,610 --> 00:16:42,030 281 00:16:42,030 --> 00:16:43,480 יש לנו ללכת. 282 00:16:43,480 --> 00:16:46,760 לבסוף, אנחנו הולכים להוסיף כפתור שליחה מהיר. 283 00:16:46,760 --> 00:16:50,370 סוג = "submit" class = "BTN BTN-יסודי". 284 00:16:50,370 --> 00:16:53,370 285 00:16:53,370 --> 00:16:55,340 אז כל אלה הם תכונות של Bootstrap כך 286 00:16:55,340 --> 00:16:58,510 כי זה יכול להיות מונח בדרך זו 287 00:16:58,510 --> 00:17:03,730 טרף למשתמש, ולא HTML עירום. 288 00:17:03,730 --> 00:17:06,250 >> אז יש לנו הגדרתי את הבקר כאן. 289 00:17:06,250 --> 00:17:08,930 אנחנו הגדרנו תצוגה פשוטה מאוד. 290 00:17:08,930 --> 00:17:12,339 אבל מה שחסר הוא רקמת חיבור. 291 00:17:12,339 --> 00:17:15,420 לכן בשלב זה, יש Laravel מושג איך 292 00:17:15,420 --> 00:17:18,312 אנחנו הולכים בעצם הגישה בקר זה. 293 00:17:18,312 --> 00:17:20,270 אז זה מוגדר ב קובץ בשם routes.php. 294 00:17:20,270 --> 00:17:22,780 295 00:17:22,780 --> 00:17:24,310 ועכשיו, יש לנו מסלול אחד. 296 00:17:24,310 --> 00:17:29,060 וזה כאשר אנחנו הולכים ל דרך הביתה לאתר זה, 297 00:17:29,060 --> 00:17:33,140 זה הולך לדקלם בקר המדד. 298 00:17:33,140 --> 00:17:38,880 אז הנה מה שאנחנו צריכים לעשות הוא ליישם מסלול חדש עבורנו כדי ליצור הודעה. 299 00:17:38,880 --> 00:17:41,910 >> אז אנחנו משתמשים בשיטה זו לקבל, אשר מציין 300 00:17:41,910 --> 00:17:48,650 כי כאשר משתמש מנסה לקבל את זה page-- במיוחד 301 00:17:48,650 --> 00:17:52,850 ההודעה לקצץ page-- החדש מה אנחנו הולכים לעשות 302 00:17:52,850 --> 00:18:02,060 הוא משתמש בבקר נקרא פוסט חדש BlogController. 303 00:18:02,060 --> 00:18:03,460 אחד שזה עתה יצר. 304 00:18:03,460 --> 00:18:08,090 ואז אנחנו הולכים לכינוי זה כnewPost. 305 00:18:08,090 --> 00:18:17,460 306 00:18:17,460 --> 00:18:19,850 אנחנו הולכים ליצור עוד פונקציה בקצת. 307 00:18:19,850 --> 00:18:23,520 אבל מה כאן תחת המפתח "כמו" זה מה ש 308 00:18:23,520 --> 00:18:28,195 אנחנו יכולים להחליף ב תבניות Blade שלנו. 309 00:18:28,195 --> 00:18:32,390 310 00:18:32,390 --> 00:18:36,230 אז לעת עתה, בואו למעשה גם אומר מסלול. 311 00:18:36,230 --> 00:18:38,380 אז אנחנו הולכים גם כדי ליצור בקר 312 00:18:38,380 --> 00:18:41,020 כדי שנוכל ליצור הודעות אלה. 313 00:18:41,020 --> 00:18:46,940 אז אם הודעות משתמש פוסט הדף לקצץ חדש, מה שאנחנו הולכים לעשות 314 00:18:46,940 --> 00:18:51,350 הוא משתמש בבקר ש אנחנו הולכים ליצור זמן קצר 315 00:18:51,350 --> 00:18:56,160 נקרא BlogController בcreatePost. 316 00:18:56,160 --> 00:19:01,929 ואנחנו הולכים לכינוי זה עם כcreatePost. 317 00:19:01,929 --> 00:19:03,380 מגניב. 318 00:19:03,380 --> 00:19:05,811 >> יש שאלות? 319 00:19:05,811 --> 00:19:06,310 מגניב. 320 00:19:06,310 --> 00:19:09,790 אז בואו לרוץ מה יש לנו עד כה. 321 00:19:09,790 --> 00:19:16,930 אז אם אנחנו עושים מלאכה php לשרת, אנו רואים המון שגיאות. 322 00:19:16,930 --> 00:19:20,385 כך זה נראה כאילו יש לנו שגיאת תחביר במסלולי קו 27. 323 00:19:20,385 --> 00:19:20,885 אה. 324 00:19:20,885 --> 00:19:21,718 חסר פסיק. 325 00:19:21,718 --> 00:19:24,900 326 00:19:24,900 --> 00:19:32,870 אז אם אנחנו הולכים ל8,000, תראה כאן שום דבר עדיין. 327 00:19:32,870 --> 00:19:34,740 אז זה בדף הבית המוגדר כברירת המחדל. 328 00:19:34,740 --> 00:19:37,730 >> אבל אם אנחנו הולכים לפרסם לקצץ חדשים, היי. 329 00:19:37,730 --> 00:19:40,425 זה יהיה בצורה שאנחנו פשוט נוצרו. 330 00:19:40,425 --> 00:19:42,550 נכון לעכשיו, יש לנו לא יישם את הפונקציונליות 331 00:19:42,550 --> 00:19:44,060 כאשר אנו לוחצים על לחצן שלח. 332 00:19:44,060 --> 00:19:47,110 אז אם אנחנו לוחצים על שלח כפתור, זה הולך לרוץ שגיאה. 333 00:19:47,110 --> 00:19:49,840 אבל אנחנו הולכים לקוד ש עכשיו, בדיוק מה שאנחנו 334 00:19:49,840 --> 00:19:54,840 רוצה לעשות כאשר משתמש מגיש טופס זה. 335 00:19:54,840 --> 00:19:55,770 >> אז בואו נעשה את זה. 336 00:19:55,770 --> 00:19:57,380 חזור לקובץ בקרים. 337 00:19:57,380 --> 00:20:00,180 מה שאנחנו הולכים לעשות הוא ליישם פונקציה חדשה זו 338 00:20:00,180 --> 00:20:04,360 המאפשר לנו ליצור פרסום. 339 00:20:04,360 --> 00:20:07,370 340 00:20:07,370 --> 00:20:08,990 להכריז פונקציה חדשה. 341 00:20:08,990 --> 00:20:11,527 createPost התפקיד ציבורי. 342 00:20:11,527 --> 00:20:14,610 ופונקציה זו הולכת להיות קצת יותר מתוחכמים ממה ש 343 00:20:14,610 --> 00:20:15,559 היו לנו קודם. 344 00:20:15,559 --> 00:20:18,350 אבל אתה רואה כאן שאנחנו לא הולך בעצם לכתוב כל SQL. 345 00:20:18,350 --> 00:20:20,980 ORM, הרהוט ORM, הולך לאפשר 346 00:20:20,980 --> 00:20:26,400 לנו לעשות את זה בכמה דרכים דרך אלגנטית יותר. 347 00:20:26,400 --> 00:20:29,140 >> אז אנחנו הולכים ליצור הודעה חדשה. 348 00:20:29,140 --> 00:20:34,120 וכאן אנחנו את הפעלת אובייקט חדש 349 00:20:34,120 --> 00:20:38,080 מהמודל שאנחנו פשוט נוצר, לאחר המודל. 350 00:20:38,080 --> 00:20:44,450 ומה אנחנו הולכים לעשות הוא להגדיר תכונת כותרת של משהו באמצעות זה 351 00:20:44,450 --> 00:20:47,380 שאנחנו מקבלים מהשרת. 352 00:20:47,380 --> 00:20:52,060 אז זה דומה למה ש היו לנו קודם בCS50 האוצר 353 00:20:52,060 --> 00:20:57,750 שבו היינו עושה, באמצעות הסופר גלובל פוסט מחפש כותרת. 354 00:20:57,750 --> 00:21:01,600 >> אז Laravel מספק כמה תברואה ומה לא באמצעות פונקצית עוזר זה. 355 00:21:01,600 --> 00:21:07,610 אז אנחנו מעדיפים להשתמש בזה במקום של צורת גלם בסיסית מאוד זה מPHP. 356 00:21:07,610 --> 00:21:17,430 ואז מה אנחנו הולכים לעשות הוא להגדיר התוכן שלה לקלט לקבל תוכן. 357 00:21:17,430 --> 00:21:20,429 358 00:21:20,429 --> 00:21:22,720 אנחנו בעצם הולכים לעטוף זה בפונקציה מועילה 359 00:21:22,720 --> 00:21:31,820 PHP שמספק נקרא nl2br, ש מתברר קווים, NLS, לBRS, הפסקות חדשות, 360 00:21:31,820 --> 00:21:35,822 כך שאנחנו באמת יכולים להיות סעיפים שונים בתוכה. 361 00:21:35,822 --> 00:21:38,030 ולבסוף מה שאנחנו הולכים לעשות הוא לשמור את הפוסט הזה. 362 00:21:38,030 --> 00:21:41,686 אז אנחנו קוראים לפונקציה לשמור על מודל זה. 363 00:21:41,686 --> 00:21:43,800 אנחנו הולכים לשמור את ההודעה. 364 00:21:43,800 --> 00:21:49,970 ולבסוף מה שאנחנו הולכים לעשות הוא להפנות את המשתמשים באופן ספציפי 365 00:21:49,970 --> 00:21:55,060 בתוואי שאנחנו הולכים ליצור זמן קצר, כינוי על ידי viewPost. 366 00:21:55,060 --> 00:22:00,435 ואנחנו הולכים לעבור בטיעונים id, להיות id של הודעה חדשה. 367 00:22:00,435 --> 00:22:04,280 368 00:22:04,280 --> 00:22:05,640 >> גדול. 369 00:22:05,640 --> 00:22:09,090 אז עכשיו אם אנחנו באמת הולכים ולהפעיל את זה. 370 00:22:09,090 --> 00:22:11,370 אנחנו הולכים להוסיף הודעה חדשה. 371 00:22:11,370 --> 00:22:15,930 בואו נגיד שזה סמינר 50. 372 00:22:15,930 --> 00:22:17,620 ואומר, בטוח. 373 00:22:17,620 --> 00:22:18,240 Asdl. 374 00:22:18,240 --> 00:22:18,740 לא משנה מה. 375 00:22:18,740 --> 00:22:20,320 איזה תוכן. 376 00:22:20,320 --> 00:22:21,180 ולהגיש אותו. 377 00:22:21,180 --> 00:22:23,850 ואנחנו שמים לב ש, היי. מסלולים אינם מוגדרים. 378 00:22:23,850 --> 00:22:32,340 אבל אם אנחנו נסתכל בphpMyAdmin ו לחפש או לא הפונקציה שלנו 379 00:22:32,340 --> 00:22:34,370 לא עשה כלום. 380 00:22:34,370 --> 00:22:36,670 תסתכל על הודעות Blog50. 381 00:22:36,670 --> 00:22:37,720 אנחנו שמים לב ש, היי. 382 00:22:37,720 --> 00:22:43,530 למעשה, אנחנו לא רק ליצור בלוג ש לפרסם עם חותמות הזמן כמפורט. 383 00:22:43,530 --> 00:22:46,600 384 00:22:46,600 --> 00:22:51,630 >> אז עכשיו בואו נחזור וליצור למעשה פונקציה אחרת זה בבקר שלנו, 385 00:22:51,630 --> 00:22:54,790 במיוחד בקר viewPost. 386 00:22:54,790 --> 00:23:00,290 viewPost פונקציה אז ציבור. 387 00:23:00,290 --> 00:23:04,070 אז הנה מה שנעשינו, במקום שיש סוגריים ריקים, 388 00:23:04,070 --> 00:23:08,800 אנחנו רוצים לעבור בתעודת הזהות של לאחר שאנו יוצרים. 389 00:23:08,800 --> 00:23:12,800 ומכאן מה שאנחנו הולכים לעשות למעשה שאילתת מסד נתונים על זה. 390 00:23:12,800 --> 00:23:15,140 >> אז אם אנחנו יכולים לשלוח הודעה, יש פונקציה שנקראת 391 00:23:15,140 --> 00:23:18,860 מצא המאפשר לנו לבצע שאילתא זה לפי תעודת זהות. 392 00:23:18,860 --> 00:23:22,110 באופן ספציפי, בעצם, אנחנו הולכים משתמש בגרסה חלופית של הזה שנקראת 393 00:23:22,110 --> 00:23:27,880 מצא או Fail, אשר מאפשר לנו כדי לצאת מפונקציה זו, 394 00:23:27,880 --> 00:23:34,700 לזרוק חריג אם ID אנחנו עוברים באינו קיימים. 395 00:23:34,700 --> 00:23:37,500 ואז אנחנו הולכים לעשות משהו בדומה למה שעשינו קודם לכן 396 00:23:37,500 --> 00:23:41,100 שבו אנו קובעים את התוכן דף זה כדי להיות 397 00:23:41,100 --> 00:23:47,950 הגרסה שניתנו מבט החדש שאנחנו הולכים ליצור, blog.view. 398 00:23:47,950 --> 00:23:51,030 >> ואנחנו הולכים לעבור ל it-- בדיוק כמו בCS50 לדקלם 399 00:23:51,030 --> 00:23:56,645 function-- מילון של משתנים. 400 00:23:56,645 --> 00:23:59,860 401 00:23:59,860 --> 00:24:04,620 המפתחות של מערך אסוציאטיבי זה הפך משתנים בתוך התבנית. 402 00:24:04,620 --> 00:24:06,830 אז אנחנו הולכים לעשות פוסט פוסט. 403 00:24:06,830 --> 00:24:12,474 אז עובר בעקיפין ההודעה ש אנחנו כבר שאילתא מבסיס הנתונים. . 404 00:24:12,474 --> 00:24:14,390 עכשיו מה שאנחנו הולכים ל לעשות הוא ליצור השקפה זו 405 00:24:14,390 --> 00:24:17,560 כך שלמעשה אנו יכולים להציג הרשום בבלוג שבנינו. 406 00:24:17,560 --> 00:24:20,280 >> אז אנחנו הולכים ליצור קובץ בשם view.blade.php. 407 00:24:20,280 --> 00:24:25,870 408 00:24:25,870 --> 00:24:29,640 אז בתוך תבנית זו, מה אנחנו הולכים לעשות 409 00:24:29,640 --> 00:24:39,700 הוא להרכיב דף פשוט ש מאפשר לנו להציג את התוכן. 410 00:24:39,700 --> 00:24:44,280 אז אנחנו עושים סעיף, זה עוד לפני התוכן. 411 00:24:44,280 --> 00:24:46,800 להפסיק. 412 00:24:46,800 --> 00:24:53,920 ומה אנחנו הולכים לעשות בתוך כאן הוא 413 00:24:53,920 --> 00:24:56,930 לכתוב כמה HTML כדי להציג דף זה. 414 00:24:56,930 --> 00:25:03,590 >> אז אנחנו הולכים לעטפו אותו במפואר אלמנט HTML5 חדש בשם מאמר. 415 00:25:03,590 --> 00:25:05,790 וכאן, אנחנו הולכים יש כותרת שבי 416 00:25:05,790 --> 00:25:12,190 אנחנו הולכים לי h1 פשוט, הכולל את כותרת ההודעה. 417 00:25:12,190 --> 00:25:17,120 אז הנה, אם אנחנו מסתכלים על זה סימון סד מתולתל כפול, 418 00:25:17,120 --> 00:25:21,690 זה יעשה במהות PHP הד כותרת הודעה. 419 00:25:21,690 --> 00:25:25,630 אז זה קיצור מועיל שLaravel מספק לנו. 420 00:25:25,630 --> 00:25:31,070 אז אנחנו הולכים להשתמש סימון זה במקום. 421 00:25:31,070 --> 00:25:40,220 >> והנה, אנחנו הולכים גם להדפיס את התוכן שלה. 422 00:25:40,220 --> 00:25:43,480 וכאן, אנחנו הולכים לעשות פוסט תוכן. 423 00:25:43,480 --> 00:25:46,514 424 00:25:46,514 --> 00:25:50,660 ולמטה בתחתית מה שאנחנו הולך לעשות הוא ליצור כותרת תחתונה. 425 00:25:50,660 --> 00:25:57,690 ובכותרת התחתונה, אנחנו הולכים תצוגה ראשונה כאשר זה פורסם. 426 00:25:57,690 --> 00:26:01,320 אז זה פורסם ב, שנוצר ב. 427 00:26:01,320 --> 00:26:07,996 >> וLaravel משתמש ממש נחמד ספריית מועד נקראת פחמן. 428 00:26:07,996 --> 00:26:11,120 אז אנחנו באמת יכולים לעשות משהו שנקרא difforHumans, שבו אתה ראית קודם לכן. 429 00:26:11,120 --> 00:26:14,360 כאשר אנו פורסמו. זה אומר, כמו, לפני חמש שניות. 430 00:26:14,360 --> 00:26:16,860 אז זה ממש נחמד הפונקציונליות של Laravel. 431 00:26:16,860 --> 00:26:19,469 432 00:26:19,469 --> 00:26:21,385 ולבסוף, אנחנו הולכים כדי לסגור תחתונה זה. 433 00:26:21,385 --> 00:26:24,900 434 00:26:24,900 --> 00:26:31,450 >> אז עכשיו אם נחזור ל דף הבית אנחנו הולכים 435 00:26:31,450 --> 00:26:34,490 לראות שום דבר כאן עדיין כי לא קדדנו את דף הבית. 436 00:26:34,490 --> 00:26:40,962 אבל אם אנחנו הולכים לפרסם נטוי אחד, אנחנו הולכים לראות יוצא מן הכלל. 437 00:26:40,962 --> 00:26:42,670 האם מישהו יודע למה אנו רואים חריג? 438 00:26:42,670 --> 00:26:44,516 מה חסר לנו? 439 00:26:44,516 --> 00:26:45,290 רעיונות? 440 00:26:45,290 --> 00:26:48,050 441 00:26:48,050 --> 00:26:49,790 אז מה עשה שאנחנו עושים מוקדם יותר עבורנו למעשה 442 00:26:49,790 --> 00:26:52,285 כדי להגדיר את האופן שנגיע ל בקרים מסוימים? 443 00:26:52,285 --> 00:26:54,895 444 00:26:54,895 --> 00:26:55,770 >> 1 SPEAKER: המסלול? 445 00:26:55,770 --> 00:26:56,519 ERIC אויאנג: כן. 446 00:26:56,519 --> 00:26:58,070 אז אנחנו עדיין צריכים להגדיר את המסלול. 447 00:26:58,070 --> 00:26:59,794 אז אנחנו חוזרים לכאן כדי routes.php. 448 00:26:59,794 --> 00:27:01,710 תוכל להבחיננו ש לא מוגדר למעשה 449 00:27:01,710 --> 00:27:05,010 איך אנחנו הולכים לקבל בקר זה. 450 00:27:05,010 --> 00:27:06,780 אז עכשיו אנחנו הולכים להגדיר בדרך זו. 451 00:27:06,780 --> 00:27:09,280 זה פשוט למדי, בדומה למה שעשינו קודם לכן. 452 00:27:09,280 --> 00:27:13,910 אבל מה אנחנו הולכים לשים לב כאן הוא שאנחנו הולכים יש לי מציין מיקום. 453 00:27:13,910 --> 00:27:18,730 >> אז אם אנחנו עושים פוסט לוכסן ID route.get. 454 00:27:18,730 --> 00:27:24,290 אז ID עכשיו הוא מה קורה ל יועבר לתוך הבקר. 455 00:27:24,290 --> 00:27:27,820 זה הולך להשתמש ב בקר שאנחנו פשוט 456 00:27:27,820 --> 00:27:33,560 נוצר, BlogController בviewPost. 457 00:27:33,560 --> 00:27:36,420 ואנחנו הולכים ל כינוי זה כviewPost. 458 00:27:36,420 --> 00:27:46,544 459 00:27:46,544 --> 00:27:47,490 גדול. 460 00:27:47,490 --> 00:27:49,470 אז עכשיו אנחנו הולכים ליצור בדרך זו. 461 00:27:49,470 --> 00:27:52,100 >> אז עכשיו אם אנחנו הולכים כאן ולרענן את הדף, 462 00:27:52,100 --> 00:27:54,410 יש לנו למעשה הפוסט החדש בבלוג שלנו. 463 00:27:54,410 --> 00:27:57,710 אז זה מה שיצרנו קודם לכן. 464 00:27:57,710 --> 00:28:01,320 מאוד דף פשוט, אבל מציג פוסט בבלוג שיצרנו זה עתה. 465 00:28:01,320 --> 00:28:04,210 466 00:28:04,210 --> 00:28:04,760 מגניב. 467 00:28:04,760 --> 00:28:08,880 ואם אנחנו באמת לעבור את כל תהליך של יצירת פוסט חדש בבלוג, 468 00:28:08,880 --> 00:28:11,700 אנו שמים לב כל מה ש הפניות כראוי. 469 00:28:11,700 --> 00:28:12,950 אם אני אומר, "היי. 470 00:28:12,950 --> 00:28:15,710 אני ג'ונתן טאן. " 471 00:28:15,710 --> 00:28:18,550 אומר, "זה הפוסט בבלוג שלי." 472 00:28:18,550 --> 00:28:22,830 ולהגיש אותו, זו תיצור הפוסט הזה בבלוג החדש עם זיהוי 2, 473 00:28:22,830 --> 00:28:28,920 שמרווחים ממה שהיה לנו בעבר ומציג אותו כמו שצריך. 474 00:28:28,920 --> 00:28:30,760 מדהים. 475 00:28:30,760 --> 00:28:32,930 >> יש שאלות? 476 00:28:32,930 --> 00:28:33,430 כן? 477 00:28:33,430 --> 00:28:36,537 >> SPEAKER 2: האם ידית Laravel חיטוי והכל בשבילך? 478 00:28:36,537 --> 00:28:37,245 ERIC אויאנג: כן. 479 00:28:37,245 --> 00:28:42,990 לכן, כאשר ראינו קודם לכן, כאשר עשינו מעי גס מעי גס קלט לקבל, 480 00:28:42,990 --> 00:28:47,720 שsanitates כל SQL זריקות ומה לא 481 00:28:47,720 --> 00:28:51,660 שאולי אנחנו רוצים לבצע אם אנחנו משתמש זדוני של האתר. 482 00:28:51,660 --> 00:28:54,115 אז Laravel מטפל הרבה של שמאחורי הקלעים. 483 00:28:54,115 --> 00:28:57,030 שאלה טובה. 484 00:28:57,030 --> 00:29:00,390 >> אז בואו נסתכל על דף הבית. 485 00:29:00,390 --> 00:29:03,220 486 00:29:03,220 --> 00:29:06,790 אז אם נחזור ראשון בקר לדף הבית, 487 00:29:06,790 --> 00:29:08,740 תוכל להבחין כי זה לא עושה הרבה כאן. 488 00:29:08,740 --> 00:29:11,620 תוכל להבחין כי אנחנו לא עובר לבקר זה 489 00:29:11,620 --> 00:29:13,830 שום דבר מועיל במיוחד. 490 00:29:13,830 --> 00:29:16,660 זה רק קובץ אינדקס זה. 491 00:29:16,660 --> 00:29:18,770 >> אז בואו נעבור ל זה משהו מועיל. 492 00:29:18,770 --> 00:29:21,450 ובאופן ספציפי, אנחנו הולך לעבור בהודעות. 493 00:29:21,450 --> 00:29:28,740 וLaravel מאפשר לנו לעשות פוסט כל, ש 494 00:29:28,740 --> 00:29:30,625 יאפשר לנו לקבל את כל ההודעות שנכתבו. 495 00:29:30,625 --> 00:29:33,160 496 00:29:33,160 --> 00:29:35,730 עכשיו, אם אנחנו חוזרים ל index.php, תראה, היי. 497 00:29:35,730 --> 00:29:37,060 שום דבר לא כאן עדיין. 498 00:29:37,060 --> 00:29:41,290 אבל מה שאנחנו רוצים לעשות כאן למעשה לחזר דרך, 499 00:29:41,290 --> 00:29:46,420 לעשות foreach לולאה על ההודעות ש מאפשר לנו להדפיס את ההודעות. 500 00:29:46,420 --> 00:29:53,180 >> הודעות אז foreach כ פוסט, מה שאנחנו רוצים לעשות 501 00:29:53,180 --> 00:29:57,252 הוא להדפיס את התוכן של הפוסט בבלוג. 502 00:29:57,252 --> 00:30:00,210 אבל דבר אחד שתבחין הוא ש אנחנו באמת כתבנו את רוב הקוד ש 503 00:30:00,210 --> 00:30:01,370 כבר, בview.blade.php. 504 00:30:01,370 --> 00:30:04,070 505 00:30:04,070 --> 00:30:08,640 אז מה אנחנו הולכים לעשות הוא למעשה להשתמש בתכונה מועילה נחמדה של Blade 506 00:30:08,640 --> 00:30:11,300 וגורם את קוד נפוץ זו. 507 00:30:11,300 --> 00:30:12,570 אז אנחנו הולכים כאן. 508 00:30:12,570 --> 00:30:16,210 >> אנחנו הולכים לקחת את התוכן הזה ממש כאן, ומה שאנחנו הולכים לעשות 509 00:30:16,210 --> 00:30:18,170 הוא ליצור תיקייה חדשה. 510 00:30:18,170 --> 00:30:20,364 בואו פשוט נקראים לזה החלקיים. 511 00:30:20,364 --> 00:30:22,530 וכאן, אנחנו הולכים כדי ליצור post.blade.php. 512 00:30:22,530 --> 00:30:26,570 513 00:30:26,570 --> 00:30:33,100 אז הנה, אנחנו בחשבון את הדרך ב שבו אנו רוצים להציג הודעות אלה. 514 00:30:33,100 --> 00:30:38,690 והנה מה שנעשינו במקום למעשה יש HTML באופן ישיר, 515 00:30:38,690 --> 00:30:41,530 אנחנו הולכים להשתמש בהוראה זו נקרא כולל blog.partials.post. 516 00:30:41,530 --> 00:30:45,210 517 00:30:45,210 --> 00:30:50,635 >> ומה אנחנו הולכים לעשות כאן הוא לעבור בפוסט של הדף. 518 00:30:50,635 --> 00:30:57,076 519 00:30:57,076 --> 00:31:01,050 אז עכשיו אם נחזור לכאן, אנחנו שם לב שהפונקציונליות היא עדיין 520 00:31:01,050 --> 00:31:01,550 אותו הדבר. 521 00:31:01,550 --> 00:31:05,140 אבל עכשיו יש לנו את זה בחשבון את הקוד, HTML זה. 522 00:31:05,140 --> 00:31:07,070 כדי שנוכל להשתמש בו במדד. 523 00:31:07,070 --> 00:31:09,090 אז הנה, זה מאוד פשוט. 524 00:31:09,090 --> 00:31:17,870 כל מה שאנחנו עושים זה כולל blog.partials.post ומערך. 525 00:31:17,870 --> 00:31:20,845 ואי ל לפני, אנחנו עושים פוסט פוסט. 526 00:31:20,845 --> 00:31:23,830 527 00:31:23,830 --> 00:31:28,182 >> אז עכשיו אם נחזור ל דף הבית, אנחנו אראה את זה, היי. 528 00:31:28,182 --> 00:31:30,515 יש לנו רשימה של כל רשום בבלוג שהיו לנו בעבר. 529 00:31:30,515 --> 00:31:34,640 530 00:31:34,640 --> 00:31:37,700 אנחנו אולי רוצים להוסיף כמה "אם" תנאים והגבלות "אחרת" 531 00:31:37,700 --> 00:31:39,979 כך שאם אין לנו שום דבר בבלוג, 532 00:31:39,979 --> 00:31:41,520 אנחנו רוצים להציג משהו מועיל. 533 00:31:41,520 --> 00:31:42,570 כמו, היי. 534 00:31:42,570 --> 00:31:44,340 אין עדיין תוכן בבלוג. 535 00:31:44,340 --> 00:31:47,670 ואם אתם באמת מסתכלים על קוד ההפצה על GitHub, 536 00:31:47,670 --> 00:31:50,100 תראה דוגמא של איך אנחנו עושים את זה. 537 00:31:50,100 --> 00:31:52,770 538 00:31:52,770 --> 00:31:54,110 >> מגניב. 539 00:31:54,110 --> 00:31:54,890 יש שאלות? 540 00:31:54,890 --> 00:31:55,510 כן. 541 00:31:55,510 --> 00:31:57,468 >> SPEAKER 2: אני מניח שפשוט שאלה בסיסית. 542 00:31:57,468 --> 00:31:59,480 חזרה במסלול. 543 00:31:59,480 --> 00:32:00,230 ERIC אויאנג: כן. 544 00:32:00,230 --> 00:32:01,935 אם נסתכל על מסלולים. 545 00:32:01,935 --> 00:32:06,018 >> SPEAKER 2: איפה עושה uses.blogcontroller ביצירת הודעה, 546 00:32:06,018 --> 00:32:07,560 מה זה לכוון אותנו ל? 547 00:32:07,560 --> 00:32:08,310 ERIC אויאנג: כן. 548 00:32:08,310 --> 00:32:08,550 כן. 549 00:32:08,550 --> 00:32:09,716 >> SPEAKER 2: או מה הוא that-- 550 00:32:09,716 --> 00:32:12,620 ERIC אויאנג: אז, תסתכל, אומרים לדוגמא, בדרך זו ממש כאן. 551 00:32:12,620 --> 00:32:17,190 החלק הראשון הוא בפועל כתובת אתר שהמשתמש ילך ל. 552 00:32:17,190 --> 00:32:19,930 ומערך זה כאן, מערך אסוציאטיבי, מגדיר 553 00:32:19,930 --> 00:32:24,520 איך אנחנו רוצים שנהיה לי מעשה יישום בתגובה לזה. 554 00:32:24,520 --> 00:32:29,090 אז משתמש בהוא בקר, הפונקציה ש 555 00:32:29,090 --> 00:32:31,610 רוצה לקרוא כאשר משתמש מגיע לכתובת אתר זו. 556 00:32:31,610 --> 00:32:35,190 אז viewPost כאן היה פונקציה שהגדרנו בתוך 557 00:32:35,190 --> 00:32:36,100 של BlogController-- 558 00:32:36,100 --> 00:32:37,160 >> SPEAKER 2: אני מבין. 559 00:32:37,160 --> 00:32:39,368 >> ERIC אויאנג: --so ש למעשה יכול להפוך נוף, 560 00:32:39,368 --> 00:32:42,590 לבצע כמה חישובים, אינטראקציה עם מסד נתונים SQL. 561 00:32:42,590 --> 00:32:43,560 >> SPEAKER 2: אישור. 562 00:32:43,560 --> 00:32:46,960 >> ERIC אויאנג: ואז אחר חלק, "כמו" הוא כינוי שאנו משתמשים. 563 00:32:46,960 --> 00:32:50,714 אז אם אנחנו שמים לב כש יצרנו צורה, 564 00:32:50,714 --> 00:32:52,380 תוכל להבחין URL ש:: routecreatePost. 565 00:32:52,380 --> 00:32:55,000 566 00:32:55,000 --> 00:32:58,330 אז זה מחליף בעצמו כתובת אתר, כך שאנחנו לא קשים 567 00:32:58,330 --> 00:33:02,940 קידוד אלה בכך שאנו יכולים לשנות את זה פעם אחת, אומרים אם אנחנו רוצים לשנות את השם. 568 00:33:02,940 --> 00:33:06,055 במקום הודעה נטוי חדש, אנחנו רוצים לעשות כמו, עמ ' 569 00:33:06,055 --> 00:33:09,490 סלאש חדש רק כדי לנקות עד כתובות האתרים שלנו קצת. 570 00:33:09,490 --> 00:33:14,740 אנחנו אשנה את זה במקום אחד ולא מ פני כל הקבצים השונים. 571 00:33:14,740 --> 00:33:15,451 >> מגניב. 572 00:33:15,451 --> 00:33:15,950 זה טוב. 573 00:33:15,950 --> 00:33:20,070 אז עכשיו יש לנו מאוד פלטפורמת בלוג בסיסית. 574 00:33:20,070 --> 00:33:24,260 אנחנו כנראה רוצים להוסיף בלחצן כל כך שאנחנו באמת יכולים ליצור הודעות חדשות. 575 00:33:24,260 --> 00:33:27,850 אז אם אנחנו נסתכל בMaster הפריסה, 576 00:33:27,850 --> 00:33:31,280 יש לנו סעיף שנקרא כותרת ימנית כי יש לנו רק שהוגדר למעלה בחלק העליון. 577 00:33:31,280 --> 00:33:34,820 כדי שנוכל להוסיף לחצנים ל החלק העליון של הכותרת. 578 00:33:34,820 --> 00:33:43,950 >> אז אם אנחנו הולכים לindex.blade.php, למעשה לעשות הוא להגדיר מה הולך בתוך מכאן. 579 00:33:43,950 --> 00:33:46,970 אז סעיף כותרת זכות זו, מה אנחנו הולכים לעשות 580 00:33:46,970 --> 00:33:55,240 הוא מוסיף בכפתור ללכת ל כתובת אתר שהוגדרה על ידי ההודעה החדשה המסלול. 581 00:33:55,240 --> 00:33:58,270 582 00:33:58,270 --> 00:34:01,660 רק כדי לנקות אותו ולהפוך את זה יפה וכל Bootstrap, 583 00:34:01,660 --> 00:34:04,630 אנחנו הולכים לעשות לחצן ברירת מחדל זה. 584 00:34:04,630 --> 00:34:07,794 בואו פשוט לעשות את זה גדול בשביל כיף. 585 00:34:07,794 --> 00:34:09,969 >> ובתוך זה, אנחנו יכולים לשים את טקסט כלשהו. 586 00:34:09,969 --> 00:34:14,030 אבל מה Bootstrap מספק הוא glyphicons. 587 00:34:14,030 --> 00:34:17,840 אז אנחנו באמת יכולים להוסיף שב עיפרון נחמד שראינו קודם לכן. 588 00:34:17,840 --> 00:34:20,570 589 00:34:20,570 --> 00:34:21,781 Glyphicon. 590 00:34:21,781 --> 00:34:22,489 Glyphicon-עיפרון. 591 00:34:22,489 --> 00:34:25,449 592 00:34:25,449 --> 00:34:35,340 אז זה יאפשר לנו לשים בסמל במקום טקסט. 593 00:34:35,340 --> 00:34:38,960 עכשיו, אם אנחנו עוצרים, זה יגדיר סעיף זה. 594 00:34:38,960 --> 00:34:39,460 ו, היי. 595 00:34:39,460 --> 00:34:45,000 יש לנו כפתור נחמד שמקשר אותנו ישירות ללהוסיף לכתוב בלוג דף. 596 00:34:45,000 --> 00:34:46,659 >> אז יש לנו בלוג פשוט למדי. 597 00:34:46,659 --> 00:34:49,710 אנחנו יכולים להוסיף דברים לזה. 598 00:34:49,710 --> 00:34:53,650 אבל מה אנחנו בדרך כלל מצפים מבלוגים הוא להעיר. 599 00:34:53,650 --> 00:34:57,340 אז זה באמת חשוב לנו שיש לי, אומר, אם מישהו אחר מבקר באתר 600 00:34:57,340 --> 00:35:00,620 ובאמת אוהב את הפוסט ש הם יכולים לעסוק בדיון 601 00:35:00,620 --> 00:35:03,100 עם אנשים אחרים שמבקרים בדף. 602 00:35:03,100 --> 00:35:07,050 אז אנחנו הולכים ללכת וליצור טבלת מסד נתונים חדשה ומודל חדש 603 00:35:07,050 --> 00:35:12,220 כדי שנוכל לשייך תגובות עם הודעות. 604 00:35:12,220 --> 00:35:17,370 >> הצעד הראשון אז, בדיוק כמו לפני, הוא שאנחנו צריכים להפעיל את הגירה. 605 00:35:17,370 --> 00:35:21,982 אז כמו בעבר, אנחנו עושים להגר php אומן: לעשות. 606 00:35:21,982 --> 00:35:24,440 ואנחנו הולכים ליצור אחת נקרא create_comments_table. 607 00:35:24,440 --> 00:35:29,520 608 00:35:29,520 --> 00:35:36,080 הפעולה זו תיצור קובץ כי יש ההגירה החדשה שלנו. 609 00:35:36,080 --> 00:35:40,170 ואנחנו הולכים, כמו לפני, להגדיר טבלה חדשה. 610 00:35:40,170 --> 00:35:42,773 אז סכימה :: ליצור טבלה בשם הערות. 611 00:35:42,773 --> 00:35:47,410 612 00:35:47,410 --> 00:35:48,430 פונקציה זו כאן. 613 00:35:48,430 --> 00:35:51,620 ובתוך שולחן זה מה ש אנחנו הולכים לעשות הוא ראשון, 614 00:35:51,620 --> 00:35:54,260 כמו בעבר, להקצות ID. 615 00:35:54,260 --> 00:35:56,552 מגדיל ID. 616 00:35:56,552 --> 00:36:05,440 >> אנחנו הולכים כדי לאפשר למשתמשים לקשר שמם עם תגובה מסוימת. 617 00:36:05,440 --> 00:36:10,080 אנחנו הולכים לקבל קצת תוכן ש הולך יחד עם, תוכן הטקסט הזה. 618 00:36:10,080 --> 00:36:13,580 619 00:36:13,580 --> 00:36:15,910 והנה מה שאנחנו הולכים ל לעשות משהו שונה. 620 00:36:15,910 --> 00:36:23,620 אנחנו הולכים ליצור מספר שלם זה נקרא post_id ש 621 00:36:23,620 --> 00:36:32,100 הולך לסמן מה פוסט תגובה מסוימת הולכת עם. 622 00:36:32,100 --> 00:36:35,410 >> בנוסף, אנחנו בעצם הולכים להגדיר אילוץ מפתח זר בזה. 623 00:36:35,410 --> 00:36:37,750 אז MySQL יהיה לאכוף את זה. 624 00:36:37,750 --> 00:36:39,840 אנחנו לא מנסים ל להקצות מספר תגובה 625 00:36:39,840 --> 00:36:44,440 5 לפרסם 5,000 אם יש לנו לא היו 5,000 הודעות על זה. 626 00:36:44,440 --> 00:36:50,240 אז מה אנחנו עושים כאן, אנחנו עושים post_id הזר 627 00:36:50,240 --> 00:37:02,046 הולך להיות קשור ל השדה מזהה מההודעות שנכתב על השולחן. 628 00:37:02,046 --> 00:37:05,900 ואנחנו באמת נעשה משהו אחר מועיל, הוא onDelete. 629 00:37:05,900 --> 00:37:11,180 >> אז אם אנחנו מחקו חלק לפרסם מבסיס הנתונים, 630 00:37:11,180 --> 00:37:15,507 כי אנחנו רוצים מפל מוחק להערות גם כן. 631 00:37:15,507 --> 00:37:18,090 כי זה לא מאוד מועיל שתהיינה לנו הערות על הודעות 632 00:37:18,090 --> 00:37:19,900 שלא קיימים. 633 00:37:19,900 --> 00:37:23,764 ולבסוף, כמו בעבר, אנחנו הולך להגדיר חותמות זמן על זה. 634 00:37:23,764 --> 00:37:28,690 635 00:37:28,690 --> 00:37:33,510 וכמו בעבר, אנחנו הולכים יש לי ההגירה ההפוכה להיות 636 00:37:33,510 --> 00:37:37,920 שומט את שולחן ההערות. 637 00:37:37,920 --> 00:37:40,070 >> אז עכשיו אם נחזור לכאן, אנחנו הולכים 638 00:37:40,070 --> 00:37:43,110 לרוץ הגירה זו, להעביר אומן. 639 00:37:43,110 --> 00:37:46,400 ועכשיו זה יישם את זה הגירה שיצרנו זה עתה. 640 00:37:46,400 --> 00:37:50,080 אז אם אנחנו מסתכלים phpMyAdmin, אנחנו עושים, למעשה, עכשיו 641 00:37:50,080 --> 00:37:53,210 יש שולחן הערות שיש מבנה שאנחנו פשוט מצוינים. 642 00:37:53,210 --> 00:37:56,900 643 00:37:56,900 --> 00:37:59,610 אז כמו בעבר, אנחנו הולך ליצור מודל חדש 644 00:37:59,610 --> 00:38:04,450 למופשט שולחן SQL שזה עתה יצר. 645 00:38:04,450 --> 00:38:05,450 >> אז בואו להוסיף קובץ חדש. 646 00:38:05,450 --> 00:38:06,908 אנחנו הולכים לקרוא לזה comment.php. 647 00:38:06,908 --> 00:38:10,160 648 00:38:10,160 --> 00:38:15,490 וזה באמת הולך להיות די פשוט עם שינוי קל 649 00:38:15,490 --> 00:38:17,520 ממה שהיה לנו קודם. 650 00:38:17,520 --> 00:38:22,790 אז הערה כיתה משתרעת רהוטה. 651 00:38:22,790 --> 00:38:25,930 ומה אנחנו הולכים לעשות כאן הוא להגדיר 652 00:38:25,930 --> 00:38:31,360 פונקציה ש מערכת יחסים עם דגמים אחרים. 653 00:38:31,360 --> 00:38:39,250 אז אנחנו הולכים להיות פוסט פונקציה כאן שמחזיר את הקשר הזה. 654 00:38:39,250 --> 00:38:43,330 אז אנחנו נקבע, כי זה שייך לפרסם, 655 00:38:43,330 --> 00:38:49,200 אומר שיש פוסט אחד שתגובה זו שייכת ל. 656 00:38:49,200 --> 00:38:53,917 >> זה בעצם צריך להיות P הון למודל. 657 00:38:53,917 --> 00:38:56,500 ועכשיו רק על להעיף האחרים צד, יש לנו לומר ש, היי. 658 00:38:56,500 --> 00:38:58,160 יש הודעות הערות. 659 00:38:58,160 --> 00:39:03,030 אז מה אנחנו הולכים לעשות הוא להגדיר הערות תפקיד ציבוריות. 660 00:39:03,030 --> 00:39:07,100 661 00:39:07,100 --> 00:39:13,620 והנה הוא חזר זה יש הרבה תגובות. 662 00:39:13,620 --> 00:39:16,630 663 00:39:16,630 --> 00:39:22,010 אז עכשיו באורח פלא כאשר יש לנו הודעה, אנחנו יכולים לקבל את הערות התכונה 664 00:39:22,010 --> 00:39:25,615 וזה יהיה לאכלס אותה ב מידע ממאגר המידע. 665 00:39:25,615 --> 00:39:32,950 666 00:39:32,950 --> 00:39:38,220 >> אז בואו באמת לעבור ו להוסיף תכונה חדשה לקובץ התצוגה שלנו 667 00:39:38,220 --> 00:39:43,600 כך שנוכל גם תצוגה וליצור תגובות. 668 00:39:43,600 --> 00:39:54,010 669 00:39:54,010 --> 00:39:56,865 אז אנחנו הולכים להגדיר סעיף חדש. 670 00:39:56,865 --> 00:39:59,890 בואו פשוט להפריד אותו עם שלטון אופקי. 671 00:39:59,890 --> 00:40:04,065 id סעיף "הערות" =. 672 00:40:04,065 --> 00:40:06,990 מה שאנחנו הולכים לעשות כאן הוא, כמו בעבר, 673 00:40:06,990 --> 00:40:09,880 לחזר דרך כל ההערות. 674 00:40:09,880 --> 00:40:12,960 אז בעצם איך אנחנו עושים את זה, כפי שציינתי, בהגינות קסומה. 675 00:40:12,960 --> 00:40:14,440 >> אנו עושים לכתוב תגובות. 676 00:40:14,440 --> 00:40:17,410 677 00:40:17,410 --> 00:40:22,710 ואז אנחנו יכולים לעשות את זה עבור כל לולאה על כל אחת מההערות. 678 00:40:22,710 --> 00:40:25,740 ומה אנחנו הולכים ל לעשות היא תגובה כיתת div, 679 00:40:25,740 --> 00:40:29,240 ואנחנו הולכים בעצם להדפיס את ההערה הזאת. 680 00:40:29,240 --> 00:40:34,150 אז להציג כי היי, להגיב name-- האדם 681 00:40:34,150 --> 00:40:38,080 שפורסם comment-- זה אומר dot dot dot. 682 00:40:38,080 --> 00:40:41,240 אנחנו הולכים לשים את זה בבלוק ציטוט, רק כדי לגרום לזה להיראות נחמד. 683 00:40:41,240 --> 00:40:46,470 ולאחר מכן להגיב בלוק ציטוט תוכן. 684 00:40:46,470 --> 00:40:49,790 685 00:40:49,790 --> 00:40:50,892 וforeach. 686 00:40:50,892 --> 00:40:53,100 אז עכשיו זה הולך לולאה דרך כל ההערות 687 00:40:53,100 --> 00:40:56,500 המשויך עם כל אחד מההודעות 688 00:40:56,500 --> 00:41:00,960 ולהציג כל אחת מההערות האלה. 689 00:41:00,960 --> 00:41:05,120 אני הולך להוסיף סעיף נוסף במורד כאן, אשר מאפשרת לנו להוסיף הערה. 690 00:41:05,120 --> 00:41:07,400 כיתה אז H3. 691 00:41:07,400 --> 00:41:09,580 שים כותרת כאן. 692 00:41:09,580 --> 00:41:10,934 הוסף ביקורת. 693 00:41:10,934 --> 00:41:13,886 694 00:41:13,886 --> 00:41:15,700 ואנחנו הולכים להגדיר צורה חדשה. 695 00:41:15,700 --> 00:41:18,730 >> אז כמו בעבר, אנחנו הולך לעשות פעולת טופס. 696 00:41:18,730 --> 00:41:22,740 והנה, הפעולה החדשה היא שאנחנו הולך להגדיר בקר חדש ש 697 00:41:22,740 --> 00:41:26,770 מאפשר לנו להגיב לתגובה בקשות ליצירת הערות. 698 00:41:26,770 --> 00:41:33,365 אז createComment URL :: המסלול. 699 00:41:33,365 --> 00:41:37,730 אני הולך לעבור בפרמטר כאן. 700 00:41:37,730 --> 00:41:40,380 ID של ההודעה ש אנו יוצרים תגובה ב. 701 00:41:40,380 --> 00:41:45,340 702 00:41:45,340 --> 00:41:50,280 ולאחר מכן את השיטה הזאת טופס הולך להיות פוסט. 703 00:41:50,280 --> 00:41:57,240 >> עכשיו אנחנו הולכים להוסיף ב שני שדות, קבוצת טופס. 704 00:41:57,240 --> 00:42:04,670 זה הולך להיות קלט עם שם "שם" וclass = "טופס-שליטה", 705 00:42:04,670 --> 00:42:14,250 הקלד = "text", ועם מציין מיקום = "השם שלך." 706 00:42:14,250 --> 00:42:19,380 גם אנחנו הולכים להגדיר שדה צורה אחרת, ש 707 00:42:19,380 --> 00:42:22,970 הולך להיות טקסט אזור שהיינו לנו בעבר. 708 00:42:22,970 --> 00:42:25,480 בדיוק כמו קודם, קורא לזה תוכן. 709 00:42:25,480 --> 00:42:31,160 Class = "טופס-שליטה." 710 00:42:31,160 --> 00:42:41,660 מציין מיקום = "כתוב כאן". 711 00:42:41,660 --> 00:42:44,100 >> ורק כדי ש באמת יכול להגיש אותו, 712 00:42:44,100 --> 00:42:55,740 להגיש סוג וclass = "BTN BTN-יסודי." 713 00:42:55,740 --> 00:42:57,005 סגור את הטופס. 714 00:42:57,005 --> 00:42:59,010 סגור את הפעולה הזו. 715 00:42:59,010 --> 00:43:06,580 אז עכשיו אם אנחנו לרענן את הדף שבו זה יש לנו, למשל, שלאחר בפרט. 716 00:43:06,580 --> 00:43:10,310 אנחנו צריכים לאתחל מחדש את השרת. 717 00:43:10,310 --> 00:43:12,340 אומן PHP משרת. 718 00:43:12,340 --> 00:43:15,630 719 00:43:15,630 --> 00:43:18,334 אתחלתי את זה. 720 00:43:18,334 --> 00:43:19,500 אנחנו צריכים להגדיר את המסלול. 721 00:43:19,500 --> 00:43:25,090 אבל לעת עתה, בואו פשוט לקחת את זה מתוך כך שלמעשה יכול להראות לך 722 00:43:25,090 --> 00:43:28,750 מה שנראה כמו הדף, ולאחר מכן אנחנו בעצם ניצור מסלול ש. 723 00:43:28,750 --> 00:43:29,250 אז, היי. 724 00:43:29,250 --> 00:43:37,080 יש לנו צורה חדשה זו כאן כדי שנוכל ליצור תגובות. 725 00:43:37,080 --> 00:43:39,950 אז בואו למעשה מגדירים פונקציה בתוך בקר 726 00:43:39,950 --> 00:43:43,020 כדי שנוכל להוסיף הערות. 727 00:43:43,020 --> 00:43:43,650 בואו נחזור. 728 00:43:43,650 --> 00:43:48,420 ובתוך blogcontroller.php, מה אנחנו הולכים לעשות 729 00:43:48,420 --> 00:43:51,620 הוא ליצור פונקציה חדשה נקרא ליצור תגובה. 730 00:43:51,620 --> 00:43:54,220 731 00:43:54,220 --> 00:43:57,040 >> createComment התפקיד ציבורי. 732 00:43:57,040 --> 00:44:00,130 זה הולך להיות אחד פרמטר, זיהוי של ההודעות 733 00:44:00,130 --> 00:44:02,280 כי אנחנו להעיר על. 734 00:44:02,280 --> 00:44:04,790 וכמו בעבר, אנחנו הולך ראשון לקבל את ההודעה. 735 00:44:04,790 --> 00:44:10,790 אז לפרסם, id findOrfail. 736 00:44:10,790 --> 00:44:15,020 לאחר מכן, אנחנו הולכים כדי ליצור תגובה חדשה. 737 00:44:15,020 --> 00:44:18,880 אז להגיב = הערה חדשה. 738 00:44:18,880 --> 00:44:26,820 תגובה name = קלט :: לקבל את השם. 739 00:44:26,820 --> 00:44:39,420 תוכן תגובה = באותו קו חדש להפסקות תשומה :: לקבל תוכן. 740 00:44:39,420 --> 00:44:43,460 >> ולבסוף, אנחנו הולכים צריכים לשייך את התגובה הזו עם הפוסט. 741 00:44:43,460 --> 00:44:47,230 אז אנחנו הולכים להשתמש פונקציה זו, הערות, 742 00:44:47,230 --> 00:44:50,260 המאפשר לנו לחסוך מערכת יחסים זו. 743 00:44:50,260 --> 00:44:54,780 אז עכשיו הערה זו תהיה באופן אוטומטי לאחר זיהוי. 744 00:44:54,780 --> 00:44:57,640 אנחנו יכולים גם להגדיר את זה באופן ידני, אבל זה 745 00:44:57,640 --> 00:45:02,490 יותר קל לקריאה ככל כפונקציה הולכת. 746 00:45:02,490 --> 00:45:05,860 ולאחר שאנו מבצעים זה, מה שאנחנו רוצים לעשות 747 00:45:05,860 --> 00:45:10,840 הוא להפנות את המשתמש ל מסלול שצוין על ידי viewPost 748 00:45:10,840 --> 00:45:16,010 עם המערך עם פרמטר של הפוסט ID. 749 00:45:16,010 --> 00:45:20,360 750 00:45:20,360 --> 00:45:24,660 >> ועכשיו, כך שזה בעצם פונקציות, אנחנו צריכים להגדיר בדרך זו. 751 00:45:24,660 --> 00:45:27,126 כביש :: פוסט. 752 00:45:27,126 --> 00:45:32,800 ועכשיו אנחנו הולכים לקרוא לזה הודעה לקצץ תגובה לוכסן ID. 753 00:45:32,800 --> 00:45:36,725 מערך משתמש בפונקציה החדשה שזה עתה יצר. 754 00:45:36,725 --> 00:45:37,350 BlogController. 755 00:45:37,350 --> 00:45:40,820 756 00:45:40,820 --> 00:45:44,770 CreateComment כcreateComment. 757 00:45:44,770 --> 00:45:47,430 758 00:45:47,430 --> 00:45:50,120 גדול. 759 00:45:50,120 --> 00:45:56,150 >> אז עכשיו אני מקווה שאם אנחנו לרענן את הדף ולהוסיף בתגובה, למשל, דוד מלאן. 760 00:45:56,150 --> 00:46:00,630 761 00:46:00,630 --> 00:46:03,920 "אני מקווה שזה עובד." 762 00:46:03,920 --> 00:46:05,216 שליחה. 763 00:46:05,216 --> 00:46:09,050 אין, למעשה, יש לנו להגיב על הפוסט הזה בבלוג. 764 00:46:09,050 --> 00:46:13,760 765 00:46:13,760 --> 00:46:14,260 מגניב. 766 00:46:14,260 --> 00:46:16,790 767 00:46:16,790 --> 00:46:21,430 אז עכשיו יש לנו די לכתוב בלוג פונקציונלי. 768 00:46:21,430 --> 00:46:23,180 אנחנו רק הולכים להוסיף כמה tweaks כך 769 00:46:23,180 --> 00:46:29,090 כי יש לנו כמה שימושי יותר מידע על הודעות אלה. 770 00:46:29,090 --> 00:46:32,780 >> אז אם נחזור ל עמוד ראשון, יש לנו לא הגיוני 771 00:46:32,780 --> 00:46:38,790 של כמה הערות בכל אחד מהתפקידים אלה. 772 00:46:38,790 --> 00:46:41,340 אז מה אנחנו בעצם הולכים לעשות הוא, בתוך המודל שלנו, 773 00:46:41,340 --> 00:46:51,250 להגדיר פונקצית עוזר המאפשרת לנו לציין את מספר ההערות 774 00:46:51,250 --> 00:46:53,020 כי ללכת עם פוסט מסוים. 775 00:46:53,020 --> 00:46:56,050 אז אנחנו הולכים ליצור פונקצית עוזר. 776 00:46:56,050 --> 00:46:58,020 >> תפקיד ציבורי. 777 00:46:58,020 --> 00:46:58,770 GetNumCommentsStr. 778 00:46:58,770 --> 00:47:02,030 779 00:47:02,030 --> 00:47:07,180 אז מחרוזת המציינת את המספר הערות כי ללכת יחד עם זה. 780 00:47:07,180 --> 00:47:12,850 ומה שאנחנו הולכים לעשות הוא לומר num שהערות זה = לספור. 781 00:47:12,850 --> 00:47:15,150 אז אנחנו הולכים לספור מספר ההערות. 782 00:47:15,150 --> 00:47:22,900 ואם מספר זה שווה 1, אנחנו רק הולך לחזור 1 תגובה. 783 00:47:22,900 --> 00:47:28,890 ואז בדרך אחרת, אנחנו רוצים לחזור שרשור של num והערות, 784 00:47:28,890 --> 00:47:31,890 ולכן אנחנו מקבלים נכונים pluralization. 785 00:47:31,890 --> 00:47:33,380 כל שעליך לעשות זה ציטוט אחד. 786 00:47:33,380 --> 00:47:36,040 787 00:47:36,040 --> 00:47:37,640 תגובה אחת. 788 00:47:37,640 --> 00:47:41,140 >> ועכשיו אנחנו יכולים להשתמש בפונקציה זו ישירות בתוך שדה הראייה שלנו. 789 00:47:41,140 --> 00:47:44,510 אז אם נחזור ל הודעות חלקיות שיצרנו, 790 00:47:44,510 --> 00:47:49,370 עכשיו אנחנו רוצים בעצם להציג את מספר ההערות. 791 00:47:49,370 --> 00:47:52,660 אז מה אנחנו יכולים לעשות הוא הודעה, להשתמש בפונקציה זו 792 00:47:52,660 --> 00:47:57,230 כי אנחנו פשוט נוצרו כדי להציג את מספר ההערות. 793 00:47:57,230 --> 00:48:00,440 אז אם אנחנו עכשיו לרענן, זה עושה, למעשה, תצוגה 794 00:48:00,440 --> 00:48:02,240 הערות המספר כי ללכת יחד עם זה. 795 00:48:02,240 --> 00:48:05,320 >> אם אנחנו רוצים להיות מפוארים אם אתה למעשה מסתכלים על קוד ההפצה, 796 00:48:05,320 --> 00:48:07,800 אנחנו באמת יכולים לקשר זה להערות. 797 00:48:07,800 --> 00:48:17,040 אם אתה זוכר, שהגדרנו ב להציג שיש להערות ID הסעיף. 798 00:48:17,040 --> 00:48:22,460 אז אם אנחנו באמת רוצים לקשר ישירות לסעיף ההערות, מה 799 00:48:22,460 --> 00:48:36,000 היינו עושה כאן הוא href כתובת אתר של viewPost המסלול. 800 00:48:36,000 --> 00:48:40,550 לעבור בזיהוי המערך של הפוסט ID. 801 00:48:40,550 --> 00:48:46,140 ולאחר מכן אנחנו רוצים ללכת ל במיוחד סעיף ההערות. 802 00:48:46,140 --> 00:48:49,900 >> הנה בואו לסגור את תג. 803 00:48:49,900 --> 00:48:52,950 אז עכשיו אם אנחנו לרענן זה דף, אנו לוחצים על זה. 804 00:48:52,950 --> 00:48:54,700 נלך ישירות ל סעיף ההערות. 805 00:48:54,700 --> 00:48:57,580 אם היו לנו עוד הודעה, אתה יכול ממש לראות להקפיץ את זה למטה. 806 00:48:57,580 --> 00:49:02,668 אבל תשימו לב שזה לא בחלק העליון של הדף. 807 00:49:02,668 --> 00:49:04,090 מגניב. 808 00:49:04,090 --> 00:49:04,600 גדול. 809 00:49:04,600 --> 00:49:08,582 אז זה פשוט למדי דוגמא למשהו פשוט 810 00:49:08,582 --> 00:49:09,790 שאתה יכול לעשות עם Laravel. 811 00:49:09,790 --> 00:49:13,230 >> אבל אתה יכול לשים לב כאן ש עשינו הרבה דברים 812 00:49:13,230 --> 00:49:16,200 עם כמות קטנה למדי של קוד. 813 00:49:16,200 --> 00:49:19,420 Laravel מאפשר לנו לעשות שאילתות SQL מאחורי הקלעים. 814 00:49:19,420 --> 00:49:21,960 הוא עושה תברואה לנו מאחורי הקלעים. 815 00:49:21,960 --> 00:49:25,940 מאפשר לנו לעשות יחסים אלה מאוד בקלות וללא צורך בנו 816 00:49:25,940 --> 00:49:33,350 לעשות כל SQL להצטרף הצהרות ל לשלב הערות עם מה את ההודעות. 817 00:49:33,350 --> 00:49:36,480 מאפשר לנו לעשות את זה ירושה של תבניות 818 00:49:36,480 --> 00:49:43,780 כדי שנוכל להגדיר קינון אלה קבצים ולכן אנחנו לא חוזרים על עצמנו, 819 00:49:43,780 --> 00:49:47,020 בדיוק כמו כאשר היינו ש תצוגה של פוסטים בבלוג 820 00:49:47,020 --> 00:49:50,770 כי אנחנו לא צריכים להעתיק ולהדביק את הקוד. 821 00:49:50,770 --> 00:49:55,450 >> ומכאן אתה יכול לבנות יישומים מורכבים יותר ויותר. 822 00:49:55,450 --> 00:49:58,370 אתה יכול לדמיין אם רציתי ליישם יומן ב, 823 00:49:58,370 --> 00:50:05,532 נוכל לומר, להביא בצד שלישי מסגרת המאפשרת לנו לעשות את זה. 824 00:50:05,532 --> 00:50:07,490 יש חבורה שלהם כי הם באמת, באמת 825 00:50:07,490 --> 00:50:09,970 גדול שיכול לעשות כמו, שחזור סיסמא. 826 00:50:09,970 --> 00:50:14,450 וזה ישלח לך לאפס את הסיסמה של דואר אלקטרוני. 827 00:50:14,450 --> 00:50:18,260 אנחנו יכולים ליישם את רשות כך שאני יכול ליצור הודעה, 828 00:50:18,260 --> 00:50:20,350 אבל מישהו אחר לא יכול לערוך אותו. 829 00:50:20,350 --> 00:50:24,610 אנחנו יכולים ליישם פונקציונליות למחוק את ההודעות. 830 00:50:24,610 --> 00:50:28,160 >> אבל אתם יכולים לראות כאן שיש לנו די הרבה כל מרכיבים הבסיסיים 831 00:50:28,160 --> 00:50:31,640 לבנות כמה באמת, באמת, Web Apps הדינמי ומרגש. 832 00:50:31,640 --> 00:50:34,035 אז עם זה, אני חושב שאנחנו טובים. 833 00:50:34,035 --> 00:50:35,720 האם יש לך חבר 'כל שאלות? 834 00:50:35,720 --> 00:50:36,220 כן? 835 00:50:36,220 --> 00:50:38,090 >> SPEAKER 3: איך אתה לקבל תוכן סטטי? 836 00:50:38,090 --> 00:50:39,256 >> ERIC אויאנג: תוכן סטטי. 837 00:50:39,256 --> 00:50:45,520 אז אתה ראית בעבר שכאשר היו לנו זכות זו כאן, תוכן פריסה זו, 838 00:50:45,520 --> 00:50:49,625 איפור תצוגה, היו לנו את זה ללא מערך זה אחר כך. 839 00:50:49,625 --> 00:50:56,440 840 00:50:56,440 --> 00:50:59,152 Blog.index, היו לנו את זה רק כקובץ סטטי. 841 00:50:59,152 --> 00:51:00,860 אז אם אנחנו לא עוברים שום דבר לאורך לזה, 842 00:51:00,860 --> 00:51:03,340 זה פשוט הופך את HTML ישירות. 843 00:51:03,340 --> 00:51:09,240 אבל אם אנחנו עוברים באסוציאטיביים זה מערך של הודעות, שהוא באופן דינמי 844 00:51:09,240 --> 00:51:12,950 משך מבסיס הנתונים, אנחנו יכול להפוך את הדף דינמי. 845 00:51:12,950 --> 00:51:13,450 מגניב. 846 00:51:13,450 --> 00:51:14,830 יש עוד שאלות? 847 00:51:14,830 --> 00:51:16,786 848 00:51:16,786 --> 00:51:19,720 SPEAKER 3: איך היית משווה Laravel לאולי כמה אפשרויות אחרות? 849 00:51:19,720 --> 00:51:20,525 ERIC אויאנג: בטח. 850 00:51:20,525 --> 00:51:21,025 כן. 851 00:51:21,025 --> 00:51:23,430 אז Laravel is-- זה question-- גדול 852 00:51:23,430 --> 00:51:26,190 אחת מאפשרויות רבות למסגרות אינטרנט. 853 00:51:26,190 --> 00:51:31,160 אז Ruby on Rails הוא אחד זה פופולרי. 854 00:51:31,160 --> 00:51:34,590 אני מאמין טוויטר הייתה אמורה להיות מיושם עם Ruby on Rails. 855 00:51:34,590 --> 00:51:37,600 אני חושב שמאז שהם עברו. 856 00:51:37,600 --> 00:51:40,780 יש עוד אחד בשם FuelPHP. 857 00:51:40,780 --> 00:51:46,120 >> אז Ruby on Rails משתמש בשפת Ruby ומיישם הרבה הדברים MVC 858 00:51:46,120 --> 00:51:48,200 שאנו רואים כאן. 859 00:51:48,200 --> 00:51:52,320 FuelPHP היא מסגרת PHP אחרת. 860 00:51:52,320 --> 00:51:54,490 Django הוא אחד המועדפים שלי. 861 00:51:54,490 --> 00:51:57,010 זה אינטרנט מסגרת לפייתון. 862 00:51:57,010 --> 00:52:01,270 אז אתה יכול לכתוב יישום האינטרנט שלך בפייתון. 863 00:52:01,270 --> 00:52:03,760 אז יש המון אפשרויות אלה. 864 00:52:03,760 --> 00:52:06,170 >> Laravel, אני חושב, על ידי ו גדול הוא תקין האהוב עליי 865 00:52:06,170 --> 00:52:08,232 עכשיו לPHP רק בגלל ש של הרכיבים 866 00:52:08,232 --> 00:52:09,440 שדיברנו עליו קודם לכן. 867 00:52:09,440 --> 00:52:11,910 המלחין שלו מופעל. 868 00:52:11,910 --> 00:52:15,750 הוא כולל באמת, באמת מערכת ORM הבעה. 869 00:52:15,750 --> 00:52:18,800 יש בניית תבנית באמת מדהימה גם שפה שחלק מהאחרים 870 00:52:18,800 --> 00:52:20,630 פשוט לא מספק. 871 00:52:20,630 --> 00:52:21,400 והגירה. 872 00:52:21,400 --> 00:52:23,432 הגירות הם מדהימה גם כן. 873 00:52:23,432 --> 00:52:24,860 מגניב? 874 00:52:24,860 --> 00:52:25,390 מדהים. 875 00:52:25,390 --> 00:52:27,560 ובכן, תודה רבה ל צפייה בסמינר זה, 876 00:52:27,560 --> 00:52:30,650 ומזל טוב על הפרויקטים האחרונים שלך. 877 00:52:30,650 --> 00:52:31,616