סקירת הפרויקט
חלק מהיחידה תכנות מונחה עצמים במסלול ה-PHP של Coddy. שיעור 82 מתוך 91.
אתגר
קלבואו נתחיל את פרויקט מערכת ניהול הספרייה בהקמת התשתית: מחלקת Book פשוטה שתשמש כאובייקט הליבה של התחום לאורך הפרק הזה.
תארגנו את הקוד בשני קבצים:
Book.php: צרו מחלקה בשםBookשמייצגת ספר בספרייה. למחלקה צריכים להיות שלושה מאפיינים:isbn(מחרוזת),title(מחרוזת) ו-author(מחרוזת). השתמשו בקידום מאפיינים בבנאי כדי לשמור על קוד נקי. הוסיפו מתודה בשםgetInfo()שמחזירה מחרוזת מעוצבת עם פרטי הספר בפורמט הזה:"[title] by [author] (ISBN: [isbn])"main.php: כללו את קובץ Book והפעילו את המחלקה שלכם. תקבלו שלוש קלטים: ISBN, כותרת ושם מחבר של ספר. צרו מופע שלBookעם הערכים האלה והדפיסו את התוצאה של הקריאה ל-getInfo().
זהו אבן הבניין הראשונה של מערכת הספרייה שלכם. בשיעורים הבאים תרחיבו את התשתית הזו על ידי הוספת משתמשים, פונקציונליות השאלה ותכונות ניהול: הכול יעבוד יחד כיישום אחיד.
נסו בעצמכם
<?php
require_once 'Book.php';
// קראו את הקלט
$isbn = trim(fgets(STDIN));
$title = trim(fgets(STDIN));
$author = trim(fgets(STDIN));
// TODO: צרו מופע של Book עם ערכי הקלט
// TODO: הדפיסו את התוצאה של הקריאה ל-getInfo()
?>כל השיעורים ביחידה תכנות מונחה עצמים
1יסודות התכנות מונחה העצמים (OOP)
קבצים חיצונייםמבוא ל-OOPמחלקות לעומת אובייקטיםמילת המפתח $thisמתודותמאפייניםבנאי (__construct)הורס (__destruct)חזרה: מחשבון פשוט4ירושה
ירושה בסיסיתמילת המפתח parent::דריסת מתודותמילת המפתח finalמחלקות מופשטותסיכום – היררכיית עובדים7כימוס
ציבורי, מוגן, פרטימפרטי גישה לעומקמתודות גישה ועדכוןהסתרת מידעקידום פרמטרים בבנאי (8.0)סיכום – מערכת רישומי תלמידים2מרחבי שמות וטעינה אוטומטית
מבוא למרחבי שמותמילת המפתח useתקן הטעינה האוטומטית PSR-4הטוען האוטומטי של Composerסיכום – פרויקט מאורגן5ממשקים וחוזים
מבוא לממשקיםמימוש ממשקיםמימוש של כמה ממשקיםממשק לעומת מחלקה מופשטתרמזי טיפוסים עם ממשקיםסיכום - מחשבון צורות8מתודות קסם
מבוא למתודות קסם__toString ו־__debugInfo__get, __set, __isset, __unset__call ו־__callStatic__clone ושיבוט אובייקטים__serialize ו־__unserializeסיכום – אוסף מותאם אישית11מערכת טיפוסים וטיפול בשגיאות
הצהרות טיפוסיםטיפוסים שניתנים להכלה של nullטיפוסי איחוד וחיתוךמחלקות חריגההיררכיית חריגות מותאמת אישיתTry, Catch, Finallyסיכום – מאמת טפסים14פרויקט: ניהול ספרייה
סקירת הפרויקטמחלקות ספר ומשתמש3מאפייני מחלקה
מאפייני מופע לעומת מאפיינים סטטייםקבועים במחלקותמתודות ומאפיינים סטטייםמאפיינים פרטיים ומוגניםמאפיינים לקריאה בלבד (PHP 8.1)סיכום – מנהל חשבון בנק6פולימורפיזם
בחינה מחדש של דריסת מתודותפולימורפיזם באמצעות ממשקיםרמזי טיפוסים וטיפוסי איחודקישור סטטי מאוחרסיכום — מעבד תשלומיםתרגלו בעצמכם: קומפיילר PHP אונליין