>> ייתכן שזוכר מ הפעם האחרונה שבדקנו
בדוגמא אחרונה זו של MVC,
בקר להציג מודל אדריכלות,
וזה פחות או יותר מבושל
למטה כדי לארגן דברים קצת יותר נקי
בספריות.
ואם אני עושה את העץ, וזה רק הפקודה
שמראה לי את מערכת הקבצים ככה, היו לנו נחמד
ותבניות ספרייה, מסודרת ספרייה ציבורית, וכן הלאה.
ואת הרעיון הכללי היה לשים רק
בספרייה הציבורית את הקבצים שבאמת צריכים
להיות ציבורי, והכל אחר צריכים להיות מאורגן בצורה יפה.
אבל למעשה, בתוך זה ספרייה ציבורית שהיו לנו את כל
כל חבורה של הבקרים, בקרים בודדים
שאיכשהו הנדרש או כלול קבצים אחרים.
אבל אנחנו באמת לא מקבלים הרבה יותר פונקציונלי יותר מזה,
ולמעשה, אנחנו סוג של נאלצנו ליישם את הרעיון הזה של נוף,
או תבניות, את עצמנו, עם פונקצית התמצית
ולהבהיר כי פונקציה יישמנו את עצמנו.
וכמו שזה שאנחנו מתחילים לעשות זה, נתחיל להבין -
נתחיל לבנות את רוצה רשימה, כמו, הו, וואו,
הלוואי שהייתי לי ספרייה לשליחת מיילים.
הלוואי שהייתי לי ספרייה ליצירת מסד הנתונים.
אני מאחל לי ספרייה עבור נקודת נקודת נקודה.
ולכן אלה ספריות קיימות.
זו הסיבה שהאנשים משתמשים ג'נגו עם פייתון,
כי זה פשוט נותן לך יותר.
זו הסיבה שאנשים משתמשים מעקה עם רובי
כי זה פשוט נותן לך יותר.
לכן אנו נשתמש Laravel משום שבחלקו העליון של PHP,
זה רק נותן לך יותר.
ורק כדי ללמד אותך, ולאחר מכן, לרגע, אני הולך ללכת
לתוך ספריית v-host
ליישום לדוגמא באמצעות Laravel.
במבט הראשון, בכנות, זה כנראה קצת מוחץ
בגלל שיש כל כך הרבה קבצים, ספריות רבות כל כך,
אבל הדבר החשוב, וכמו נתראה אחרי הפסקה מהירה,
הוא להתמקד רק על הדברים הרלוונטיים ביותר
כדי לקבל קצת עבודה לעשות בתחילה, וזה הולך
כדי להיות בספרייה מתאימה.
כפי שתראה ותשמעו, יש עדיין חבורה של תיקיות,
אבל אלה בהולכים אכפת כ, בעיקר, הן זו.
אם אני פותח את תחנת מסלול PHP, הודעה כטיזר,
כיצד יישום זה עומד לעבוד.
זה reimplementation בLaravel
של סופר פשוט יישום כמובן טיפשי
שנתן לי בשבוע שאפס, שבוע אחד, הרצאות, וקבצי PDF.
אני פשוט הולך כדי לציין - המסך שלי הוא קצת מנותק,
שוב - אני הולך לציין את הדברים הבאים,
כי אני רוצה להגדיר מסלול באמצעות HTTP גט ללוכסן,
וכל פעם שמשתמשת בזה ביקורי יישום סלאש
באתר שלי, אני רוצה להוציא לפועל הנתח אנונימי של קוד,
כלומר לחזור איפור מעי גס תצוגה.
אז זה אומר שיחה שיטה סטטית בתוך
של מחלקה בשם נוף, ואיפור הופך את תבנית
זה נקרא מדד, והוא עובר בחבורה
זוגות ערך מפתח, במקרה זה, כותרת.
בינתיים, אם המשתמש ביקורי סלאש הרצאות,
הקוד הזה צריך לבצע,
ותבנית ההרצאות צריך לקבל שניתנו.
לבסוף, אם המשתמש מבקר הרצאות לקצץ משהו,
שבו משהו שהוא, לכל התחתון כאן, מספר,
ספרות עשרונית אחד או יותר,
אז אני רוצה להבהיר הרצאות תבנית,
עובר בכותרת גם כן.
אז התוצאה הסופית היא כי -
אם אני באמת למשוך את זה יישום בדפדפן שלי,
התוצאה הסופית - אופס.
התוצאה הסופית היא בדיוק אותו הדבר,
אם כי עם מעט כתובות יותר סקסיות עכשיו.
עכשיו זה קו נטוי הרצאה 0 במקום שבוע הנקודה PHP אפס.
אבל, בואו נעצור כאן.
בואו ניקח שתי דקות לשבור, וכשנחזור,
טים הולכים לבוא על עד ולהציג אותנו
לפעולה הפנימית של Laravel והסוג
פונקציונליות אנחנו על לצאת מהקופסה.
>> בסדר, אז, עכשיו אנחנו הולך להיות לוקח צלילה עמוקה יותר
לתוך מסגרת Laravel PHP, שהדוד שהוזכר.
אז Laravel, המקום הראשון אנחנו הולכים להתחיל הולכים
להתחלה מהירה
ולהתקין אותו באמצעות משהו שנקרא מלחין.
אז מלחין הוא מערכת ניהול חבילות
עבור PHP דומה פנינים לרובי או בור
לפייתון או MPM עבור לא JS.
מלחין מסייע לנהל את כל יחסי התלות השונות
שLaravel תלוי מתי - סוג של, מתחת למכסת המנוע.
היא משתמשת הרבה של הסימפוניה,
של מסגרת PHP אחרת הפעולה פנימית.
וגם, כן, אנחנו הולכים כדי להשתמש בפקודות
שהם נותנים לנו כאן, מלחין ליצור פרויקט Laravel Laravel,
אחרי שהתקנו שירות המלחין,
שיש לי כבר נעשה על - בואו לראות.
אז אני משתמש במכשיר CS 50
בגלל זה יש את כל גרסאות PHP ו-SQL שלי
וכל מה שאנחנו צריכים כדי להתחיל לפעול.
אז אני הולך קדימה, למשוך את המסוף כאן
ולקפוץ לתוך v-host ספרייה, ואני הולך
כדי להדביק את זה - אוי, אני לא יכול לעשות את זה ככה.
אז אני הולך לSSH למופע לינוקס
שאני מפעיל בVMWare.
ואני הולך להפעיל את זה מלחין ליצור פרויקט Laravel,
ואני הולך לשנות את שם הפרויקט שלך
לדוגמא dev נקודה בדיוק.
ומאחורי הקלעים,
זה לוקח קצת זמן בפעם הראשונה שאתה הולך
כדי לעשות את זה, אבל זה התקנת כל יחסי התלות
שאתה הולך צריך להפעיל Laravel.
אז אני מקווה שזה עושה לא תיקח יותר מדי זמן.
זה צריך פשוט לקחת את שנייה.
בפעם הראשונה שאתה עושה את זה, זה ייקח כמה דקות,
כנראה, משום שהיא צריך לקבל כל דבר.
אני זה כולם במטמון כאן.
אז עכשיו שיש לנו דוגמא dot dev, מה שאנחנו הולכים צריכים
לעשות כדי להיות מסוגל לגשת לזה
בדפדפן הכרום שלנו הוא קדימה, לקפוץ ל--
אנחנו הולכים לפסוודו באמצעות קובץ hosts Etsy.
ואנחנו הולכים קדימה, להוסיף שורה חדשה כאן עם ה-IP
של המכשיר 50, המוצג כאן
בפינה הימנית התחתונה של המסך, 192 168 -
וזה עשוי להיות שונה בהתאם למחשב שלך,
כך 192 168 69 128 [אודיו לשבור] dev נקודת פרויקט ירושלים.
אוקיי. תשמור את זה.
אז, עכשיו, אם אנחנו הולכים לדוגמא dot dev, אנו רואים - בואו לראות.
אה, אני היה בהלא נכון במדריך, אז תן לי ללכת קדימה
ולהעביר את dev הדוגמא dot לתוך ספריית v-host.
ועכשיו אם אנחנו לרענן אותו, אנחנו רואה שזה אומר אסור.
אין לך גישה.
אז אנחנו צריכים להיכנס ספריית dev הדוגמא dot
בV-מארח, ואנחנו צריכים chmod זה ל0711, dev דוגמא הנקודה,
כמו גם את הציבור - הו, עשיתי לא בסדר, כי בשני פעמים.
אז dev דוגמא הנקודה, כמו גם את הספרייה הציבורית
שמתחת את זה, כך שהוא מסוגל
כדי להגיע לPHP נקודת מדד.
ועכשיו, אם אנחנו לרענן - הו, אנחנו עדיין נתקל בבעיות.
אז בתוך הדוגמא ספרייה ציבורית,
אם רשימה של כל הקבצים, כולל אלה מוסתרים,
יש קובץ גישת HD, וזה משמש את האפצ'י
כדי לעזור לקבוע, עבור הספרייה הספציפית הזה,
שבו בקשות צריכה להיות מוכרע.
אז זה גם צריך להיות chmoded ל0644, ועכשיו אתה כבר הגיע.
אז זה היה התקנה מהירה של Laravel באמצעות הפקודות.
אז בואו נלך קדימה, ואני הולך להשתמש במשהו שנקרא סמבה.
אם אתה לא מכיר אותו, אתה יכול - מתפריט Finder,
ללכת ללכת ולהתחבר ל שרת, ואתה יכול ללכת קדימה
ולעשות קו נטוי מעי גס SMB סלאש כתובת ה-IP
של המופע של לינוקס שאנחנו פועל בVMWare וללכת קדימה
ולהתחבר לשרת כך שאתה יכול להעלות אותו
כמערכת קבצים ולהשתמש בו
כאילו הייתם באופן מקומי מחובר אליו.
אז אני הולך ללכת קדימה ולמשוך את זה
לעורך שנקרא מלל נשגב.
אם אתה לא מכיר, זה הוא עורך ממש נחמד
כי הוא זמין לערוך קבצי קוד.
וכך אנחנו הולכים כדי להעיף מבט
בספרייה מבנה לפרויקט.
אז יש כמה שונה תיקיות ברמה העליונה.
יש אפליקציה, אשר דוד הזכיר כבר.
יש bootstrap, שהם חלק מקבצים בשימוש פנימי
על ידי Laravel לbootstrap כל יחסי תלות, לטעון את כולם ב,
לוודא שכל הקסם שיטות נקראות כמו שצריך
כדי להיות מסוגל [הפסקת אודיו].
יש הציבור ספרייה, שבה כל
נכסים הפונים לציבור שלנו, כגון PHP נקודת המדד
שבו בקשות מנותבות, תמונות, קבצי CSS, JavaScript,
כל מה שצריך להיות נגיש ישירות
בעולם מתגורר ב הספרייה הציבורית.
ולאחר מכן בספריית הספק הם כולם של הנכסים -
או כל [הפסקת אודיו] מתחת למכסת המנוע שעושה הרבה
מהרמת המשאות הכבדות שLaravel תלוי.
אז בדרך כלל, בציבור ספרייה, זה סוג
של מה שהיית רואה, CSS, JavaScript,
קבצים אלה אינם קיימים כאשר אתה מתקין את המסגרת,
אבל אלה הם דברים ש סביר להניח שאתה רוצה להוסיף
כמו שאתה בונה את היישומים שלך.
קובץ גישת HD שאני הזכיר וPHP נקודת מדד,
המהווה את החזית Controller עבור -
שבו כל הבקשות לעבור תחילה.
אז בתוך היישום תיקייה, אלה הם -
יש למעשה כמה -
למעשה יש כמה תיקיות שונות כאן.
יש הרבה מהם, וכמו דוד האמור,
זה יכול להיות מכריע בהתחלה, אבל אתה פשוט רוצה להתרכז
על אלה באופן ספציפי.
אז יש המסלולים מנקדים PHP, וזה מה שראינו קודם לכן
כדי להראות שאתה יכול מסלול שיטת כתובת אתר וHTP ספציפית
כדי מסוים או בעילום שם פונקציה, כמו דוד השתמש,
או בקר, ה אנחנו עומדים לעבור על.
יש תיקיית config,
מקום שבו אתה מגדיר את כל תצורת יישום
שאתה צריך, כגון הגדרות מסד נתונים או כל APIs
כי אתה יכול להיות התמודדות עם.
אם אתה משתמש במשהו כדי לשלוח דואר
או אם אתה מתחבר לאמזון כדי לאחסן תמונות,
היית להגדיר את כל תצורות אלה
בנקודה מרכזית ב יישום כך ש--
סוג של אמנות ה כולם, כמו שהם עובדים
בקבוצה, אין לך לחשוב לאן היא זו.
זה פשוט שיש לך להגדיר מקום שבו הוא הולך.
זה יהיה בתצורה.
בקרים הם מקום ביישום
שבו אתה בדרך כלל בקשות מסלול.
אז הבקר מטפל הרבה היגיון היישום
וסוג של מה שמרים תצוגה של המסך הולכת
להיות, התצוגות, ולאחר מכן גם פגזים
לדגמים השונים המכיל את הנתונים
ולהעביר אותם לתצוגה.
אז אתה סוג של - בקר הוא סוג של הסדרן
לבקשות, אתה יודע, מה שאתה הולך לעשות
עם הנתונים - או עם - בהתאם לבקשתו,
אילו נתונים צריכים להיות מוצג ושבו אנחנו מקבלים אותו.
והנוף בדרך כלל רק ב-HTML,
אולי באמצעות בניית תבנית מנוע, כמו שאנחנו הולכים ללכת
מעל לבניית התבנית בלייד כי ספינות Laravel מנוע עם.
ולאחר מכן ספריות האחרות לעכשיו, אנחנו פשוט הולכים
כדי לחפות על סוג של ולא לדאוג.
אבל אלה כוללים בדיקות, כך יישומים ללא בדיקה יחידה,
מסננים, אחסון.
אני כל זמן עושה את זה.
בסדר, הקפיצות לגבות כאן.
אז הדבר הראשון שהיא מגיע עימו בדרך זו תקבל
וזה מבט לעשות שלום.
אז אם אנחנו מסתכלים ב ספריית הנוף,
אנו רואים שיש הוא PHP dot שלום,
וזה מקום שבך את זה הגעתי הוא בא.
אבל אנחנו גם יכולים לשנות זה -
כך, אנחנו יכולים לשנות את זה כדי הלו, ועכשיו, אם אנסה ללכת
למסלול שאינו מוגדר אנחנו מקבלים את זה סוג של מגשי מחסנית
על מה השתבש עם היישום.
אבל אם אנחנו הולכים לקצץ בשלום,
אין למעשה שגיאת שרת פנימית.
אז יש קצת קסם קורה מאחורי הקלעים
במכשיר CS 50 עד לוודא שאתה מסוגל
לשם כל אלה ספריות בנוחות.
שם - כך dev נקודת הדוגמא שנתנו.
אז אנחנו באמת צריכים לשנות עוד דבר אחד
בקובץ גישת HD.
אז אנחנו הולכים קדימה
ולהוסיף את הקו הזה, לשכתב לוכסן בסיס.
וזה בעצם הוא הוראה אחרת.
דוד, אתה יכול לדבר יותר מה בסיס שכתוב עושה.
>> זה בעצם מתקן יותר מה השרת חושב.
זה אמור להיות מארח וירטואלי [לא ברור].
אז המפרט להתעלם כי על ידי לשכתב כתובות לוכסן בסיס.
>> ימין. אז, עכשיו, סלאש שלום עובד כמו שצריך.
אז בואו לקפוץ חזרה לכאן.
אז יחד עם פשוט עושה פונקציה אנונימית כמו זה,
יש - אז זה הוא פשוט לסכם
של MVC הייתי רק דן.
זה הולך למסלולים ו אז קליפות מן הבקרים,
העוסק ב מודלים ונוף ואיך כל
שיש לטפל בה.
אז הבקרים הם סוג של - תעזור לרכז את כל זה,
ואתה יכול לגשת אליהם באמצעות מסלולים באומרו מסלול מקבל.
כדי שנוכל לומר בדרך לקבל שלום,
ולאחר מכן בקר שם ובשם שיטה.
אז בואו נלך קדימה ונותן שזריקה.
אז אנחנו אומרים מסלול לקבל סלאש שלום,
ואנחנו נעשה את שלום הבקר בשלום מופע.
אז כדי שזה יעבוד,
אנחנו צריכים להוסיף קובץ בשם PHP dot שלום הבקר.
אני אלך קדימה ו-- אז זה מרחיב בקר בסיס,
אשר Laravel כבר ספינות עם,
אשר מרחיב בקר, שהוא סוג של מתחת למכסת המנוע
ועושה הרבה דברים מאחורי הקלעים
שעוזר בקרים לנהל את כל המדינה הזאת
שמגיע אל היישום.
אז בקר הבית, שאמרנו זה יהיה שם הצגת שלום.
ואנחנו פשוט - במקום של החזרת נוף,
אנחנו פשוט נחזור שלום עולם.
אה, הלו - הו, אני העתקתי אותו.
שלום הבקר.
אז שלום עולם.
אז זה פשוט באמת, דוגמא ממש פשוטה
איך אתה יכול ליצור בקרים.