אני בטוח שכל אחד מנסה למצוא כל מיני דרכים לנסות ולראות מה תיהיה השיטה הטובה ביותר לתכנת ב PHP , לכתוב XHTML, להפריד בין השניים ועדיין לגרום למערכת להיות מספיק מהירה כדי לעבוד על פרוייקטים גודלים יותר. לאחרונה קראתי בנוגע לתוסף ל PHP הכתוב ב C בשם Blitz . כמובן שתוסף ב C עדיף על כל מנוע טמפלייטים הכתוב ב PHP כי כמובן ש C הרבה יותר מהיר מכל מנוע שתמצאו ברשת, הרי אין לו את ה Compiler שדורש קימפול של הכל לפני העיבוד שלו לשפת C לכן הוא יהיה מהיר יותר. הבעיה המרכזית כאן היא שזהו תוסף, ועדיין לא מספיק מפורסם כדי ששרתי האכסון יוסיפו אותו כברירת מחדל, לכן אם בונים מערכת שתהיה מערכת Open Source לכל מי שמעוניין זוהי לא הדרך השימושית ביותר להשתמש במנוע זה. לעומת זאת אם משתמשים את זה לצרכים האישיים שלכם בשרת שלכם אז זה בהחלט יכול לזרז לכם את תהליך הפיתוח ולהפחית את זמן הטעינה.
ה Benchmarks של Blitz נראים לא רע בכלל, למרות ש Benchmarks הם Benchmarks ולא תמיד אפשר להסתמך עליהם. דוגמא לנתונים מאתר Blitz לגבי מהירות המנוע שלהם:
כפי שניתן לראות זה “נראה” אכן מהיר יותר מהשאר אך שוב החסרון שזה תוסף ולא משהו מובנה עושה את שלו. בכל מקרה אני אישית עבדתי עם מנועים שונים (ואת האמת כתבתי אחד בעצמי שעדיין עובד עליו) אבל זה באמת עניין של עדיפות אישית. אני בטוח שהרבה שמעו ראו והתנסו עם מנוע כמו SMARTY הוא כנראה המנוע הנפוץ ביותר והמהיר ביותר, כמובן שהוא יהיה אנדרי זמיובסקי הוא זה שכותב אותו (אחד ממפתחי PHP) ולכן הוא כנראה יהיה אחד הטובים ביותר, אם לא הכי טוב. למרות ששוב SMARTY מריץ את ה complier שלו ו”מעבד” את כל הטמפלייט לקוד PHP שאותו הוא שומר אחר כך כבר מעובד בשרת, ובכך חוסך את הזמן של העיבוד בכל פעם. למרות שאפשר לעשות את אותו הדבר ישירות עם קוד PHP בטמפלייטים שלכם. השאלה עד כמה חשוב לכם שהקוד יהיה ככה:
{foreach from=$list item=item}
<h3>{$item.headline}</h3>
{foreach from=$item.children item=paragraph}
<p>{$paragraph.content}</p>
{/foreach}
{/foreach}
ולא ככה:
<? foreach ($list as $item) : ?>
<h3><?=$item['headline']?></h3>
<? foreach ($item['children'] as $paragraph) : ?>
<p><?=$paragraph['content']?></p>
<? endforeach; ?>
<? endforeach; ?>
אם זה לא כל כך חשוב, אז כמובן שקוד PHP עדיף מאשר מנוע שעושה עיבוד נוסף.
בנוסף יותר ויותר מערכות ואפליקציות עוברות למנועים שעובדים עם XSL, זה אומנם קצת יותר לאט אבל כל הפקודות הלוגיות של IF, ELSE וכדומה כבר קיימות שם, ולא צריך להסתבך עם ביטויים רגולריים וNESTING כדי לכתוב מנוע מספיק טוב כדי שיעשה בעצם את אותו הדבר שכבר XSL עושה.
בכל מקרה כדי לנסות ולתת ידע כלשהו מניסיון, SMARTY אכן עושה עבודה טובה, אבל כמו כל דבר אחר צריך לעבוד איתו ולהבין אותו כדי להוציא ממנו את המיטב. אם יש לכם את הזמן ואתם יודעים שאתם תעבדו הרבה עם טמפלייטס ולוגיקה אני חושב ש SMARTY הוא פתרון נהדר.
Similar Posts
- הפרדת הקוד מהעיצוב, כמה קשה זה כבר יכול להיות? – 02/08/2009





Latest Comments