PHP: ארץ של אלף מסגרות

מְחַבֵּר: Louise Ward
תאריך הבריאה: 6 פברואר 2021
תאריך עדכון: 18 מאי 2024
Anonim
PHP: ארץ של אלף מסגרות - יְצִירָתִי
PHP: ארץ של אלף מסגרות - יְצִירָתִי

תוֹכֶן

שאל אותי באיזו מסגרת להשתמש וכנראה שיהיה לי רגע של זקנה זועפת ואגיד לך שכל המסגרות גרועות זו מזו. וזה לא אומר שכולם רעים, בדיוק, אבל ב- PHP יש לנו מספר גדול של דמיון של מסגרות (המצוטטים בדרך כלל כ- N + 1, כאשר N הוא מספר מפתחי ה- PHP בעולם), וכולם כנראה היו הגיוניים לאדם שהמציא אותם.

הבחירה במסגרות היא כנראה טובה יותר מאשר ניסיון להשתמש רק במסגרת אחת, ללא קשר למה בדיוק ניסית לבנות, מכיוון שהיא זו 'הטובה ביותר' (בכל מידה של 'הכי'). מבחר זה של היצע מסגרות אומר שאתה יכול לבחור משהו שעונה על צרכי הפרויקט ואולי אפילו יתועד. מסגרות בכל פלטפורמה באמת יש כדי לספק מבנה, מודולים לשימוש חוזר וספריות, ובדרך כלל להימנע מכל המשימות המשעממות וחוזרות על עצמן בבניית אותה פונקציונליות שוב ושוב. לדוגמא בעת בניית CMSes, משהו אמור לעבד ולאמת שדות טופס עבורי; אם השארתי לנפשי אני עלול לפספס משהו חשוב ואני מעדיף לעשות את האלמנטים של כל פרויקט שונה, ולא אלה שהם זהים בכל פעם!


מסגרות מלאות

מסגרות מלאות, כמו Zend Framework, יכולות להיות מקום נחמד להתחיל עבור מפתח ללא ניסיון רב בארכיטקטורה. זה נותן מבנה טוב לתלות בו יישום חדש, ויש סביבו 'מערכת אקולוגית' טובה - שפע ספרים, מדריכים וקצת תיעוד סביר. אם אתה מנסה לבנות אפליקציה גדולה שתישמר על ידי הרבה אנשים, סביר להניח שמסגרת פופולרית ומקיפה תהיה בחירה טובה מכיוון שהיא תכתיב די הרבה מבנה ותהיה מוכרת ומובנת.

להיות בעל מבנה שיסייע בהפרדה הוא תמיד טוב; בתחילת דרכי עבדתי עם כמה מאוד מפתחים זוטרים וניסו ללמד אותם את דפוס ה- MVC (Model View Controller), שהיה אז יחסית חדש. קיבלנו את ההחלטה להשתמש ב- Smarty בשכבת התצוגה; חלקית כדי שהמעצבים יוכלו לעבוד עם התבניות ביתר קלות, וחלקם כך שכשמישהו הגיע לשולחן שלי ואמר "איך אני עושה X עם Smarty?" יכולתי לומר "אל תעשו X בתצוגה!" (תשע פעמים מתוך 10, זו הייתה התשובה). קיום מסגרות עוזר לנו למצוא את אותה הפרדה בחלקים אחרים של היישום שלנו. רבים מהם תומכים בשילוב מול שכבת תבנית כמו Smarty, או האהוב עלי החדש, Twig, כך שתוכל לקחת את הכלים האלה איתך בכל המסגרת שתבחר.


להקל על העומס

יש הרבה מסגרות קלות יותר מאשר Zend Framework, למשל אני עובד עם CodeIgniter לא מעט. האם היא מקיפה וחזקה כמו Zend Framework? לא, זה לא. אך כמסגרת עוזרת המאפשרת בניית יישום במהירות, זה שימושי. באופן כללי, מסגרות עם פחות פונקציונליות 'עוזרת' יכולות להיות קלות יותר להתמצא, מכיוון שזה הרבה יותר ברור איך החלקים הולכים יחד. במסגרת לא מוכרת (מבחינתי זה בערך הכל), החלקים האוטומטיים הם שמקשים על העבודה איתם וניתוח באגים.

תחושה של להיות "אבוד במסגרת חדשה" היא בלתי נמנעת ומתסכלת לחלוטין; אפילו מפתח מנוסה מרגיש כמו מתחיל כאשר הוא לא יודע איך שום דבר עובד. אם באמת אין לך מזל, בחרת במסגרת שערוץ ה- IRC שלה יגיד לך שאתה גם אידיוט! זו החוויה הראשונית השלילית הזו שמורידה הרבה אנשים להשתמש במסגרת חדשה או לאמץ מלכתחילה, ומעט מאוד מסגרות עוזרות למשתמשים חדשים מעבר למכשול הראשוני הזה.


ב- PHP יש לנו גם כמה מסגרות שאינן ממש מסגרות באופן שאני בדרך כלל משתמשת במילה. יש לנו כמה מסגרות רכיבים מקסימות; אוספי ספריות שתוכננו לשימוש לפי רצון ולשחק יפה יחד, כמו Zeta Components (רכיבי eZ בעבר) ו- Components של Symfony (ראיתם את האתר שלהם? הם זוכים בפרס על יצירות האמנות הטובות ביותר!). הטוב והנחתך ביותר מבין אלה הוא, כמובן, הצעות ה- PEAR ו- PECL של PHP עצמו - איכשהו אלה נשכחים בעולם המסגרות החדש והאמיץ הזה.

מסגרות מיקרו

מסגרות מיקרו הן מגמה מתפתחת ב- PHP; אלה הצעות קלות במיוחד שעוזרות לך להדביק דברים במהירות רבה יותר. דוגמה טובה היא Slim, שהוא מהיר מאוד ופשוט לשימוש, ומבין מושגים RESTful. הוא מבוסס סביב הרעיון של 'מסלולים', שהם דפוסי כתובות אתרים. אתה רושם מסלול ונותן שיחה חוזרת שיש להפעיל אותה כאשר מבקשים כתובת אתר זו.

רוב מפתחי ה- PHP מאמצים מסגרת ועומדים בה, או שהם עשויים להשתמש באחד בעבודה ובאחר לצורך תחביבים או פרויקטים של קוד פתוח. אין הסכמה קטנה לגבי המסגרת "הטובה ביותר" לשימוש, כך שכולם פשוט מקפידים על מה שהם יודעים והתוצאה היא פיתוח מקביל של מספר עצום של מסגרות! אני אוהב לקבל מבחר לבחירה, אך האם הזכרתי שכולם גרועים זה מזה?

אם אתה מכיר את Zend Framework אז בסופו של דבר אתה מתאר את עצמך כמפתח Zend Framework; לא יהיה לך נוח לכתוב במסגרת אחרת עד שהייתה לך הזדמנות להתמודד עם זה, וכנראה שאתה לא זוכר הרבה מפונקציות ה- PHP הגולמיות לדברים אם אתה לא משתמש בהם לעתים קרובות. הרעיון הזה שהפכנו למפתחים ספציפיים למסגרת, שעובדים רק על גבי שכבות של הפשטה, הוא קצת מוזר עבור PHP. אחרי הכל, זו השפה "לפתור את בעיית הרשת". הוא כתוב ב- C וזוהי שפה מהירה וקלה בפני עצמה ... בתנאי שלא תחכה לתהליך bootstrap במסגרת גדול! מהקשר זה עלה המניפסט MicroPHP, שנכתב על ידי אדם שאנו מכנים Funkatron (אם כי קוראים לו באמת אד פינקלר). זו סדרה של הצהרות האומרות שזה בסדר לבנות מספר מודולים קטנים הניתנים לתפקוד, שגדולים יותר אינם טובים יותר, וכי באמת, החיים קצרים מדי עבור ג'אווה - גם אם זה כתוב ב- PHP.

פופולרי היום
כיצד לשדרג את Windows 7 ל- Windows 10 במהירות
לְגַלוֹת

כיצד לשדרג את Windows 7 ל- Windows 10 במהירות

חלונות 7 היא גרסה די טובה של חלונות אבל חלונות 10 הגיעו עם הרבה מאוד תכונות ופונקציות חדשות שהפכו אותו למועדף בקרב אנשים רבים. Window 10 החזיר את תפריט ההתחלה, אשר בוטל ב- Window 8. Window 10 הציגה גם...
למעלה 12 כלים לשחזור סיסמאות ב- Excel 2016 שעליך לדעת
לְגַלוֹת

למעלה 12 כלים לשחזור סיסמאות ב- Excel 2016 שעליך לדעת

ישנן מספר סיבות לשחזור סיסמת Excel 2016. ראשית, ייתכן שתרצה לגשת לחוברת העבודה או לגיליונות האלקטרוניים ולא תוכל לעשות זאת אם הוא מוצפן בסיסמה. שנית, ייתכן שמשתמשים איבדו או שכחו את הסיסמה לקובץ ה- Ex...
שתי הדרכים המובילות להסרת חשבון Xiaomi Redmi 5A Mi
לְגַלוֹת

שתי הדרכים המובילות להסרת חשבון Xiaomi Redmi 5A Mi

אם אתה הבעלים של טלפון חכם של Redmi 5A וברצונך להסיר את חשבון ה- MI שלך מהמכשיר, אתה נמצא במקום הנכון. במדריך זה אנו הולכים לשתף את התהליך שלב אחר שלב להסרת חשבון ה- MI שלך מ- Redmi 5A או מכל מכשיר אח...