x

מה אנחנו יכולים לעשות בשבילך?

Zend Framework

Framework - מהו?

פריימוורק הינו ספריית קבצי קוד, הבנוי בשפת תכנות מסויימת (דוגמא מוכרת היא ספריית JQuery המרחיבה את Javascript). הספריה מוסיפה אפשרויות נוספות לשפה הקיימת ובכך מאפשרת לכתוב קוד בצורה מהירה יותר וממוקדת יותר. בדרך כלל לפריימוורק יש API משלו, בנוסף ל-API הבסיסי של השפה עליה הוא בנוי.

Zend Framework

Zend Framework - למה?

לאחר שהבנו מהו פריימוורק, נוכל להיכנס יותר לעומק הנושא Zend Framework ולהבין למה הוא טוב.

Zend Framework, או בקיצור ZF היא בעצם ספריית PHP שנכתבה ע"י אנדי גוטמנס וזאב סורסקי, ומכאן שמה (זאב + אנדי = זאנד). שני המפתחים הינם ישראלים יוצאי הטכניון, ועבודתם המפורמת ביותר הינה שפת ה-PHP (כן, הם פיתחו אותה). בדומה ל-PHP, בעזרת הספרייה נוכל לבנות אפליקציות אינטרנטיות. הספרייה הינה קוד פתוח ובנויה על סביבה מונחית עצמים, כשהעיקרון המנחה הוא הפרדת Model-View-Controller (MVC).

MVC מהווה את אחד הדברים היפים ביותר בZF. הרעיון העומד מאחורי ההפרדה הזו (ניתן להרחיב על הנושא בויקיפדיה), הוא שהשיטה מכריחה את המתכנתים להפריד בין קוד לבין עיצוב. הקוד גם כן מחולק לשניים. השיטה בעצם מפרידה בין 3 שכבות – המודל, המייצג ושולט באובייקטים המרכזיים במערכת, הבקר, שמטרתו היא ליצור את התוכן המעובד, והתצוגה, שמטרתה היא לארגן את הדפים באופן שנרצה. לא מובן? נרחיב:

Model – השכבה שבעצם שמכילה את אובייקטי המערכת המרכזיים (האובייקטים שאינם קשורים לתצוגה או פעולה כלשהי). כל אובייקט במערכת שלנו ייבנה וייצוג בשכבה זו. השכבה לא מתקשרת באופן ישיר עם מסד הנתוניםף אבל דרכה הקישור מתבצע. אני אישית משתמש בשיטת ה-data mapper בשביל להתממשק עם מסד הנתונים.
View – השכבה האחראית על התצוגה. בשכבת ה-View צריך להמנע ככל הניתן מכתיבת סקריפטים. תפקידה הוא להציג את הנתונים שנוצרו בשכבת ה-Controller.
Controller – השכבה הפועלת, היא השכבה שבעצם מכילה את הפונקציות והפעולות של כל החלקים במערכת. השכבה למעשה הגורם המתווך בין שכבת ה-Model לשכבת ה-View, ע"י שימוש במודולי המערכת והעברת הנתונים לשכבת התצוגה.

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