פרייוורק היא למעשה ספריית קוד אשר בנויה על בסיס שפה מסויימת (כולם בוודאי מכירים את הספרייה JQuery שמרחיבה את Javascript). הספריה מרחיבה את אפשרויות השפה הקיימת ומאפשרת ליצור קוד בצורה מהירה יותר ואפקטיבית יותר. לרוב לפריימוורק יהיה API משלו אבל הוא יתמוך כמובן בAPI של השפה אותו הוא מרחיב.
באמצעות ה-API של הפרייוורק נוכל להשתמש בכלים מתקדמים שהפריימוורק מספק ובכך לייעל את עבודתנו בתור מתכנתים.
Zend Frameworkטוב עכשיו אחרי שסיברתי את אוזנכם קצת בנוגע לספריות הרחבה לשפות תכנות (framework), אני אספר לכם על Zend Framework.
הספרייה Zend Framework או בקיצור ZF היא ספריית PHP שפותחה ע"י זאב סורסקי ואנדי גוטמנס, מכאן שמה (זאב+אנדי = זאנד). יוצרי הסביבה הם ישראלים יוצאי טכניון שפיתחו בין השאר גם את שפת PHP (נחמד לא?). בדומה לPHP, מטרת הספרייה היא בניית אפליקציות אינטרנטיות. הספרייה רשומה בקוד פתוח ובנויה על סביבה מונחת עצמים עם הפרדת Model-View-Controller (בקיצור MVC).
MVC - אחד הדברים היפים ביותר בZF. כל הרעיון מאחורי ההפרדה הזו (שתוכלו לקרוא עליה עוד בויקיפדיה), היא שהיא מכריחה אותנו (המתכנתים) להפריד בין עיצוב לבין קוד, וגם הקוד מחולק לשניים. שיטת MVC עושה זאת ע"י הפרדה ל-3 שכבות - המודל, שאחראי על האובייקטים המרכזיים במערכת, הבקר, שאחראי על יצירת התוכן המעובד, והתצוגה, שאחראית לסדר את האופן בו יראה כל דף. כעת נרחיב:
• Model - זוהי השכבה שמכילה את אובייקטי המערכת המרכזיים (אלה שלא קשורים לתצוגה או לפעולה כלשהי), בשכבה הזו נבנה ונייצג כל אובייקט במערכת שלנו. השכבה הזו אינה מתממשקת באופן ישיר עם מסד הנתונים אך דרכה מתבצע הקישור. אני משתמש בשיטה ה-data mapper להתממשקות עם מסד הנתונים.
• View - שכבת התצוגה. בשכבה זו צריך כמה שיותר להמנע מכתיבת סקריפטים ותפקידה העיקרי הוא להציג את פלט הקוד שנוצר בשכבת ה-Controller.
• Controller - השכבה שבעצם מכילה את הפעולות של כל חלק באפלקציית האינטרנט. היא למעשה מחברת בין שכבות הModel והView בכך שהיא משתמשת במודולי המערכת ומעבירה מידע לשכבת התצוגה.
קשה מאוד להבין את השימוש ב-ZF לפני שפשוט מנסים אותה. אבל המלצה כנה ממני, תנסו ותרוויחו. ישנם ספריות רבות המרחיבות את PHP בינהם CodeIgniter ו-CakePHP, הספרייה ZF נחשבת למתקדמת ביותר ובל נשכח שהיוצרים שלה הם אלה שיצרו את ה-PHP, אני חושב שזה נותן להם קצת קרדיט. בכל מקרה למי שסקפטי ולא בטוח לגביי הספרייה אותה הוא רוצה ללמוד, האתר הבא מאפשר להשוות בין הפריימוורקים השונים לPHP והמאמר הבא מתוך nettuts מסביר כיצד כדאי לבחור פריימוורק באופן כללי (לא רק לPHP).
לסיום אני רוצה לצרף לכם לינק לאתר נפלא שנותן מספר סרטוני הדרכה בוידאו ללימוד ZF. אני התחלתי ללמוד משם, ובאמת שזו דיי דרך טובה להתחיל להשתמש בZF (הסרטונים באנגלית).
כמו כן בטח תוכלו להעזר בדוקומניזציה של ZF, היא מלאה בהרבה מאוד תוכן ועם שילוב של חיפוש בגוגל היא תענה לכם על הרבה שאלות.
חברת דקור הוקמה בשנת 2005 ומתמחה בתחום בניית אתרים באינטרנט. דקור מתמחה בהקמה ותחזוקה של אתרי אינטרנט, אתרי תדמית, מערכות לניהול תוכן, חנויות מקוונות ומערכות סחר אלקטרוני . בין השירותים שדקור מציעה:
- בניית חנות וירטואלית
- בניית אתר תדמית
- בניית אתרים מבוססי מערכת ניהול תוכן CMS
- בניית פורטל - אתרים בעלי תוכן רב