<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>&#8235;Htm - אחלה טיפים לבניית אתרים &#187; Zend&#8236;</title>	<atom:link href="http://www.htm.co.il/tag/zend/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.htm.co.il</link>
	<description>&#8235;מדריכים ומאמרים בנושא בניית אתרים. כל יום משהו חדש ללמוד, וליישם.&#8236;</description>	<lastBuildDate>Wed, 18 Jan 2012 09:32:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>il</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>&#8235;Zend Framework  &#8211; דרך טובה לבנות מערכות PHP&#8236;</title>		<link>http://www.htm.co.il/2010/01/18/zend-framework-%d7%93%d7%a8%d7%9a-%d7%98%d7%95%d7%91%d7%94-%d7%9c%d7%91%d7%a0%d7%95%d7%aa-%d7%9e%d7%a2%d7%a8%d7%9b%d7%95%d7%aa-php/</link>
		<comments>http://www.htm.co.il/2010/01/18/zend-framework-%d7%93%d7%a8%d7%9a-%d7%98%d7%95%d7%91%d7%94-%d7%9c%d7%91%d7%a0%d7%95%d7%aa-%d7%9e%d7%a2%d7%a8%d7%9b%d7%95%d7%aa-php/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 08:02:21 +0000</pubDate>
		<dc:creator>&#8235;אורן רוט&#8236;</dc:creator>				<category><![CDATA[בניית אתרים]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Zend]]></category>

		<guid isPermaLink="false">http://www.htm.co.il/?p=1000</guid>
		<description><![CDATA[&#8235;לאחר עבודה ממושכת עם Zend Framework החלטתי לשתף אתכם בספריית הPHP הנפלאה הזו. שימוש בספריה זו יחסוך לכם זמן ויהפוך אתכם למתכנתי PHP אפקטיביים יותר, וזה רק על קצה המזלג. אני התאהבתי, באמת.&#8236;]]></description>			<content:encoded><![CDATA[<div dir="rtl"><p>בזמן שלא הייתי כאן הייתי עסוק בבניית מערכת ניהול תוכן לחברת בניית האתרים שלי. את מערכת ניהול התוכן שלי בניתי ב-Zend Framwork שזהו Framework של PHP. מאוד נהנתי להשתמש בכלים ש<abbr title="Zend Framwork">ZF</abbr> מעניקה, ורציתי לספר לכם קצת מה זה פריימוורק לPHP, מה זה ZF ולמה ומתי כדאי לכם להשתמש בהם בתכנות PHP.</p>
<h3>Framework</h3>
<p>פרייוורק היא למעשה ספריית קוד אשר בנויה על בסיס שפה מסויימת (כולם בוודאי מכירים את הספרייה JQuery שמרחיבה את Javascript). הספריה מרחיבה את אפשרויות השפה הקיימת ומאפשרת ליצור קוד בצורה מהירה יותר ואפקטיבית יותר. לרוב לפריימוורק יהיה <a href="http://he.wikipedia.org/wiki/ממשק_תכנות_יישומים"><abbr title="ממשק תכנות יישומים">API</abbr></a> משלו אבל הוא יתמוך כמובן בAPI של השפה אותו הוא מרחיב.</p>
<p>באמצעות ה-API של הפרייוורק נוכל להשתמש בכלים מתקדמים שהפריימוורק מספק ובכך לייעל את עבודתנו בתור מתכנתים.</p>
<p style="text-align: center;"><img class="aligncenter" title="ZF - Zend Framework" src="/wp-content/uploads/2010/01/zend-framework.png" alt="" width="185" height="187" /></p>
<h3><a href="http://www.decor-d.com/pages/zend-framework">Zend Framework</a></h3>
<p>טוב עכשיו אחרי שסיברתי את אוזנכם קצת בנוגע לספריות הרחבה לשפות תכנות (framework), אני אספר לכם על Zend Framework.</p>
<p>הספרייה Zend Framework או בקיצור ZF היא ספריית PHP שפותחה ע&quot;י <strong><a href="http://he.wikipedia.org/wiki/זאב_סורסקי">זאב סורסקי</a></strong> ו<strong><a href="http://he.wikipedia.org/wiki/אנדי_גוטמנס">אנדי גוטמנס</a></strong>, מכאן שמה (זאב+אנדי = זאנד). יוצרי הסביבה הם ישראלים יוצאי טכניון שפיתחו בין השאר גם את שפת PHP (נחמד לא?). בדומה לPHP, מטרת הספרייה היא בניית אפליקציות אינטרנטיות. הספרייה רשומה בקוד פתוח ובנויה על סביבה מונחת עצמים עם הפרדת <strong>Model-View-Controller</strong> (בקיצור<strong> MVC</strong>).</p>
<p>MVC &#8211; אחד הדברים היפים ביותר בZF. כל הרעיון מאחורי ההפרדה הזו (שתוכלו לקרוא עליה עוד <a href="http://he.wikipedia.org/wiki/MVC">בויקיפדיה</a>), היא שהיא מכריחה אותנו (המתכנתים) להפריד בין עיצוב לבין קוד, וגם הקוד מחולק לשניים. שיטת MVC עושה זאת ע&quot;י הפרדה ל-3 שכבות &#8211; המודל, שאחראי על האובייקטים המרכזיים במערכת, הבקר, שאחראי על יצירת התוכן המעובד, והתצוגה, שאחראית לסדר את האופן בו יראה כל דף. כעת נרחיב:</p>
<ul>
<li><strong>Model</strong> &#8211; זוהי השכבה שמכילה את אובייקטי המערכת המרכזיים (אלה שלא קשורים לתצוגה או לפעולה כלשהי), בשכבה הזו נבנה ונייצג כל אובייקט במערכת שלנו. השכבה הזו אינה מתממשקת באופן ישיר עם מסד הנתונים אך דרכה מתבצע הקישור. אני משתמש בשיטה ה<a href="http://www.martinfowler.com/eaaCatalog/dataMapper.html">-data mapper</a> להתממשקות עם מסד הנתונים.</li>
<li><strong>View</strong> &#8211; שכבת התצוגה. בשכבה זו צריך כמה שיותר להמנע מכתיבת סקריפטים ותפקידה העיקרי הוא להציג את פלט הקוד שנוצר בשכבת ה-Controller.</li>
<li><strong>Controller</strong> &#8211; השכבה שבעצם מכילה את הפעולות של כל חלק באפלקציית האינטרנט. היא למעשה מחברת בין שכבות הModel והView בכך שהיא משתמשת במודולי המערכת ומעבירה מידע לשכבת התצוגה.</li>
</ul>
<p>קשה מאוד להבין את השימוש ב-ZF לפני שפשוט מנסים אותה. אבל המלצה כנה ממני, תנסו ותרוויחו. ישנם ספריות רבות המרחיבות את PHP בינהם <strong>CodeIgniter </strong>ו-<strong>CakePHP</strong>,<strong> </strong>הספרייה ZF נחשבת למתקדמת ביותר ובל נשכח שהיוצרים שלה הם אלה שיצרו את ה-PHP, אני חושב שזה נותן להם קצת קרדיט. בכל מקרה למי שסקפטי ולא בטוח לגביי הספרייה אותה הוא רוצה ללמוד, האתר הבא מאפשר <a href="http://www.phpframeworks.com/">להשוות בין הפריימוורקים השונים לPHP</a> והמאמר הבא מתוך nettuts מסביר <a href="http://net.tutsplus.com/tutorials/other/15-most-important-considerations-when-choosing-a-web-development-framework/?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed%3A+nettuts+%28NETTUTS%29">כיצד כדאי לבחור פריימוורק</a> באופן כללי (לא רק לPHP).</p>
<p>לסיום אני רוצה לצרף לכם לינק לאתר נפלא שנותן <a href="http://www.killerphp.com/zend-framework/videos/">מספר סרטוני הדרכה בוידאו ללימוד ZF</a>. אני התחלתי ללמוד משם, ובאמת שזו דיי דרך טובה להתחיל להשתמש בZF (הסרטונים באנגלית).<br />
כמו כן בטח תוכלו להעזר ב<a href="http://framework.zend.com/manual/">דוקומניזציה של ZF</a>, היא מלאה בהרבה מאוד תוכן ועם שילוב של חיפוש בגוגל היא תענה לכם על הרבה שאלות.</p>
<p><strong>בתחילת הדרך ללימוד ZF בטח תיתקלו בכל מיני באגים מעצבנים שלא תבינו למה הם קורים, אני עברתי רבים מהם ואתם מוזמנים לשאול שאלות כאן למטה בתגובות.</strong></p>
<h3>עוד באותו נושא:</h3><ul class="related_post"><li  class="relatedPost"><a href="http://www.htm.co.il/2009/10/25/%d7%a7%d7%95%d7%93-%d7%a7%d7%a6%d7%a8-%d7%9c%d7%94%d7%a6%d7%92%d7%aa-%d7%aa%d7%95%d7%9b%d7%9f-%d7%aa%d7%99%d7%a7%d7%99%d7%99%d7%94/" title="קוד קצר להצגת תוכן תיקייה"><img src="http://htm.co.il/wp-content/post-images/726.jpg" />קוד קצר להצגת תוכן תיקייה</a><div style="clear: both;"></div></li><li  class="relatedPost"><a href="http://www.htm.co.il/2010/02/28/%d7%91-2010-%d7%90%d7%a0%d7%97%d7%a0%d7%95-%d7%a2%d7%95%d7%91%d7%a8%d7%99%d7%9d-%d7%9c-offline/" title="<!--:il-->ב-2010 אנחנו עוברים ל-Offline<!--:-->"><img src="http://htm.co.il/wp-content/post-images/1045.jpg" /><!--:il-->ב-2010 אנחנו עוברים ל-Offline<!--:--></a><div style="clear: both;"></div></li></ul></div>]]></content:encoded>			<wfw:commentRss>http://www.htm.co.il/2010/01/18/zend-framework-%d7%93%d7%a8%d7%9a-%d7%98%d7%95%d7%91%d7%94-%d7%9c%d7%91%d7%a0%d7%95%d7%aa-%d7%9e%d7%a2%d7%a8%d7%9b%d7%95%d7%aa-php/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
	</channel>
</rss>



