ABA


"שאלה בנוגע לתבניות השונות"
גירסת הדפסה        
קבוצות דיון בניית אתרים נושא #10111 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 10111
nyoton
חבר מתאריך 31.3.02
95 הודעות
   21:29   06.04.11   
אל הפורום  
  שאלה בנוגע לתבניות השונות  
 
   מישהו יכול להסביר מה ההבדל בין התבניות\הקודים השונים ?JOOMLA,WP,DRUPEL,PHPBB3,MAGENTO


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  בדיוק נתתי טיפ לאחד המשתמשים בפרטי, akoka2 06.04.11 22:51 1

       
akoka2

   22:51   06.04.11   
אל הפורום  
  1. בדיוק נתתי טיפ לאחד המשתמשים בפרטי,  
בתגובה להודעה מספר 0
 
   אני אכתוב גם כאן מה אני חושב...


קודם כול נכנה את הילד בשמו, זה לא תבניות, זה תשתיות שנכתבו בשפה מסויימת(רוב התשתיות שהזכרת נכתבו בPHP יכול ליהיות שיצאו גם גירסאות בDOT.NET, לא שאני שמעתי בכו"א).

התשתיות האלה רובן מבוססות על תבנית נורא נוחה שנקראת MVC, הר"ת של MVC זה: Model/View/Controller

כשהModel בדרך כלל מנהל את הbuisness logic מול הדטאבייס(בד"כ גם מגיע עם התשתיות האלו ORM, שמעבר לניהול הבסיסי של הלוגיקה העסקית, הוא גם מחזיק בתוכו מנוע שיודע לקחת שאילתא מסויימת, ולהריץ אותה מול כול מסדי הנתונים המוכרים).

זאת אומרת שאם אני עובד מול MySQL ומתי שהוא נהייתי מיליונר ועברתי לאורקל, אני לא צריך לגעת בשאילתות שלי, אני מריץ פונקציה פשוטה מתוך הORM נניח Set_DB_Adapter('Oracle'); ואז מבחינתי סיימתי את ההתאמה למסד הנתונים.

עכשיו התפקיד של הController הוא לנהל את כול תהליך הבקשות מהמערכת, בדרך כלל לכול רכיב באתר יש Controller משלו, שמכיל את הפונקציות שלו.

עכשיו מה זה אומר?

נניח יש לי את הController הבא, נקרא לו Blog_Controller

ובתוכו קיימת פונקציה נקרא לה add שמקבלת 2 פרמטרים: title וdescription ומייצרת בלוג בDB.

אז בשורת הכתובת זה ייראה ככה(נניח ויש לנו htaccess עם rewrite rules)

http://www.prettydomain.com/blog/add/

אנחנו לא יצרנו בעצם כלום ברגע שיצרנו controller והגדרנו אותו בקוד, אז כביכול נוצרה לנו היכולת לגשת לאותו Controller ואז לאותה פונקציה בכתובת.

התפקיד של הview זה לקבל מידע מהcontroller ולהציג אותו, עכשיו ישנם x תרחישים אפשריים:

controller מבקש מידע מהmodel
view שולח מידע לcontroller והcontroller שולח מידע לmodel
controller מבקש מידע מהmodel ומעביר אותו לview

בשום מצב הview לא יכול לפנות לmodel בצורה ישירה.


הview זה התצוגה שלנו אם זה לא היה ברור עד עכשיו, בד"כ לכול controller יש view משלו.


עכשיו לגבי תשתיות, מה מומלץ להשתמש ומתי להשתמש:

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

עכשיו בוא נעבור על מה שהזכרת:

Magento - תשתית שנכתבה בZend Framework משמשת בעיקר לפיתוח מערכות מסחר אלקטרוניות, נותנת תשתית מצויינת, קצת מסורבלת אם לא מכירים ZF מההתחלה.

PHPBB3 - מערכת פורומים די וותיקה שכתובה בPHP, שנים שלא יצא לי לראות מה הולך איתה.

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

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

JOOMLA - אחת המערכות המסורבלות ביותר, נורא קשה לפתח עליה דברים, נורא מסורבלת, טוענים שהיא כתובה בMVC, לא יודע ממה שאני ראיתי היא רחוקה מהמודולריות של MVC ומהרעיון שנות אור.


עכשיו המלצות שלי:

simfony - תשתית שכתובה בPHP ומבוססת MVC בצורה מלאה, יש בה פיצ'רים מטורפים, דוגמא הכי בסיסית זה סינטקס שפיתחו במיוחד שנקרא YAML, שמאפשר לייצר טבלאות במסד נתונים, בצורה הכי פשוטה וכיפית שיש(לוקח זמן להתרגל לרעיון אבל זה עדיין מדהים), עוד פיצ'ר מגניב זה Admin Genreator שמאפשר לקחת מודלים שנוצרו דרך YAML, ולייצר ממשק ניהול עם controllerים וview, הדבר היחידי שהפריע לי זה הקושי בהתקנה, יש באתר המון דרכים להתקין את המערכת, לקח לי יותר משעה להצליח להתקין אותה כמו שצריך.

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

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


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net