הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 27-01-07, 19:38   # 1
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

דיזיין למערכת MVC- התיעצות

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

כלי מערכת זה למשל:
db.php
config.php
וגם דף שמנהל מודלים, זאת אומרת מקבל ב- GET שם של מודל, מוודא אם זה בסדר, ואז מוסיף את המודל, מעטפות מראה, מערכת ניהול...

היה לי קצת קשה להבין, איפה אני משלב את ה- view, model, controller.
חשבתי ככה:
תהייה לי תיקייה בשם modules ובתוכה תיקיות, לכל תיקייה יש שם של המודל, ובתוך התיקייה שיהיו 3 קבצים:
view.php
model.php
controller.php
כשהמודל זה מחלקה עם כל מה שהמודל צריך לעשות, controller זה החלק שמקבל נתונים מה- GET, מבין מה רוצים ממנו, ועושה בהתאם, ככה שבעצם, המודל זה הגרעין, והקונטרולר זה המעטפת, וה- view מוציא את הפלט.

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

מה שגרם לי לפקפק בזה שהבנתי בכלל מה זה MVC.
אז השאלה שלי היא כזאת: אני בכיוון? מה שתכננתי בסדר? אם לא, איך כן? איך זה עובד?
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)
  Reply With Quote
ישן 28-01-07, 12:44   # 2
The Crow
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: קריית אונו
גיל: 36
הודעות: 181
שלח הודעה באמצעות MSN אל The Crow

The Crow לא מחובר  

במקום לבנות הכל מחדש,
אני ממליץ לך לבדוק את זה:
http://www.codeigniter.com/

בהצלחה
  Reply With Quote
ישן 28-01-07, 12:52   # 3
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 32
הודעות: 4,086

BlueNosE לא מחובר  

תראה.. באתר שלי כן פתחתי תיקייה לכל ACT, אבל זה רק בגלל שהפעולות והדפים מוגדרים מראש, והשינויים הם לא כמותית (כמות הדפים משתנה לעיתים רחוקות) אלא איכותית (תוכן הדפים משתנה בתדירות גבוהה), אז העדפתי לעשות את זה ככה.

אבל במקרה שלך?
פשוט מאוד, יוצרים CLASS שמטפלת בזה. היא עובדת מול המסד ובודקת קודם כל אם הMODEL קיים. אם כן, היא שולפת את הערך מהמסד (יכול להיות ערך HTML ישיר, או נתיב לקובץ לטעינה דינאמית). עם זה אתה יכול לעשות מה שאתה רוצה.

שים לב, זה רק רעיון!
תוכל להשתמש בו, ותוכל גם לשלוח אותו לעזאזל. עם קצת דימיון תוכל לעשות הרבה מאוד, כי אתה בסך הכל צריך להפעיל קצת אחרת את הראש, לחשוב קצת אחרת.. זה עוזר
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 28-01-07, 13:45   # 4
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

ציטוט:
נכתב במקור על ידי The Crow צפה בהודעה
במקום לבנות הכל מחדש,
אני ממליץ לך לבדוק את זה:
http://www.codeigniter.com/

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

אצלי תיקייה לכל ACT לא בא בחשבון, המערכת יותר מידי דינאמית...
בסוף לדעתי לכל מודול יהיה מחלקה model, מחלקה controller וקובץ template (פלוס אינקלוד של כל מיני קבצי מערכת...)
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)
  Reply With Quote
ישן 28-01-07, 18:12   # 5
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

הכי פשוט...וזה מה שאני בעצם עושה...
יש לי תיקייה INCLUDES ושם יש לי את כל הפונקציות
לדוגמא
functions_users.php
adminfunctions_users.php
ובתוך הטמפלטים אותו רעיון אני עושה PREFIX לטמפלט על השם של המודול
לדוגמא
users_main_page
כשם של קובץ....

יש מודולים שהם בסיסים ולכן לא הייתי קורא להם בכלל ככה שזה בעצם ה CORE של המערכת שלך
מה שמדביק את הכל ביחד.

הכי חשוב זה לעבוד בצורה של קלאסים מסודרים כמו שצריך ואז הכל הולך חלק...
  Reply With Quote
ישן 28-01-07, 18:22   # 6
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
הכי פשוט...וזה מה שאני בעצם עושה...
יש לי תיקייה INCLUDES ושם יש לי את כל הפונקציות
לדוגמא
functions_users.php
adminfunctions_users.php
ובתוך הטמפלטים אותו רעיון אני עושה PREFIX לטמפלט על השם של המודול
לדוגמא
users_main_page
כשם של קובץ....

יש מודולים שהם בסיסים ולכן לא הייתי קורא להם בכלל ככה שזה בעצם ה CORE של המערכת שלך
מה שמדביק את הכל ביחד.

הכי חשוב זה לעבוד בצורה של קלאסים מסודרים כמו שצריך ואז הכל הולך חלק...
הגישה שאליה הגעתי שישבתי ועשיתי את הדיזיין הוא: הכל זה מודולים חוץ מ-
db.php
config.php
moudle.php
אפילו הדף הראשי, זה בעצם מודול בשם home, השאלה היא, האם הגישה הזאת נכונה
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)
  Reply With Quote
ישן 28-01-07, 18:41   # 7
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

ציטוט:
נכתב במקור על ידי tnadav צפה בהודעה
הגישה שאליה הגעתי שישבתי ועשיתי את הדיזיין הוא: הכל זה מודולים חוץ מ-
db.php
config.php
moudle.php
אפילו הדף הראשי, זה בעצם מודול בשם home, השאלה היא, האם הגישה הזאת נכונה
חצי נכונה
אתה צריך שיהיה לך פנאל ניהול מובנה שכל המודולים נבנים סביבו
כלומר אתה לא יכול לעשות משהו דינאמי עד אין סוף
חייב להיות חוקים מסויים
יש לי CLASS שלם שמטפל ב ADMINAREA כולל העיצוב שלו והכל
כל המודולים אני בונה סביבו...

אפילו יש לי DEFINES שהם גלובלים במערכת
יש לי קובץ שנקרא INIT.PHP והוא מדביק את כל המערכת - הוא עושה INSTANSE לכל הקלאסים שאני צריך והוא מביא את המערכת למצב עבודה בסיסי.
בנוסף אתה צריך לבנות קלאס שיטפל לך בכל הנושא של היוזרים
והוא גם יהיה מובנה...אבל פה זה מתחלק ל 2... לא בכל מערכת צריך מערכת של יוזרים עם הרשאות
היה לי הרבה לקוחות שמבקשים יוזר אחד לפנאל ניהול וזהו
אז תעשה קלאס עם 2 מצבים . משתמש אחד \ ריבוי משתמשים
כמובן שהוא חייב להכיל בתוכו את כל התעסקות סביב ה SESSIONS הצפת סיסמאות וכל מה שקשור במשתמשים והתחברות.

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

אבל את הבסיס אתה חייב שיהיה לך.
  Reply With Quote
ישן 28-01-07, 19:01   # 8
BlueNosE
אין כמו ב127.0.0.1
 
BlueNosE's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: כפ"ס
גיל: 32
הודעות: 4,086

BlueNosE לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
חצי נכונה
אתה צריך שיהיה לך פנאל ניהול מובנה שכל המודולים נבנים סביבו
כלומר אתה לא יכול לעשות משהו דינאמי עד אין סוף
חייב להיות חוקים מסויים
יש לי CLASS שלם שמטפל ב ADMINAREA כולל העיצוב שלו והכל
כל המודולים אני בונה סביבו...

אפילו יש לי DEFINES שהם גלובלים במערכת
יש לי קובץ שנקרא INIT.PHP והוא מדביק את כל המערכת - הוא עושה INSTANSE לכל הקלאסים שאני צריך והוא מביא את המערכת למצב עבודה בסיסי.
בנוסף אתה צריך לבנות קלאס שיטפל לך בכל הנושא של היוזרים
והוא גם יהיה מובנה...אבל פה זה מתחלק ל 2... לא בכל מערכת צריך מערכת של יוזרים עם הרשאות
היה לי הרבה לקוחות שמבקשים יוזר אחד לפנאל ניהול וזהו
אז תעשה קלאס עם 2 מצבים . משתמש אחד \ ריבוי משתמשים
כמובן שהוא חייב להכיל בתוכו את כל התעסקות סביב ה SESSIONS הצפת סיסמאות וכל מה שקשור במשתמשים והתחברות.

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

אבל את הבסיס אתה חייב שיהיה לך.
מה זאת אומרת מודול?
קוד PHP שרץ כמו דף דינאמי, או קוד HTML שרץ עם IFים למיניהם מוגדרים בעזרת PCRE?
__________________
עומר,
admin [@] rely.co.il

בניית אתרים Rely

סלנג מילון סלנג utter
  Reply With Quote
ישן 28-01-07, 19:19   # 9
tnadav
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2006
הודעות: 216

tnadav לא מחובר  

ציטוט:
נכתב במקור על ידי RS324 צפה בהודעה
חצי נכונה
אתה צריך שיהיה לך פנאל ניהול מובנה שכל המודולים נבנים סביבו
כלומר אתה לא יכול לעשות משהו דינאמי עד אין סוף
חייב להיות חוקים מסויים
יש לי CLASS שלם שמטפל ב ADMINAREA כולל העיצוב שלו והכל
כל המודולים אני בונה סביבו...

אפילו יש לי DEFINES שהם גלובלים במערכת
יש לי קובץ שנקרא INIT.PHP והוא מדביק את כל המערכת - הוא עושה INSTANSE לכל הקלאסים שאני צריך והוא מביא את המערכת למצב עבודה בסיסי.
בנוסף אתה צריך לבנות קלאס שיטפל לך בכל הנושא של היוזרים
והוא גם יהיה מובנה...אבל פה זה מתחלק ל 2... לא בכל מערכת צריך מערכת של יוזרים עם הרשאות
היה לי הרבה לקוחות שמבקשים יוזר אחד לפנאל ניהול וזהו
אז תעשה קלאס עם 2 מצבים . משתמש אחד \ ריבוי משתמשים
כמובן שהוא חייב להכיל בתוכו את כל התעסקות סביב ה SESSIONS הצפת סיסמאות וכל מה שקשור במשתמשים והתחברות.

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

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

וגם בדפי מערכת לא שמתי הכל.. יש עוד.. למשל login_check, שבודק ולידאציה.. ואני חושב שדווקא בדיקת הרשאות זה משהו שלא מאנקלדים..אלא שמים את זה כחלק מ- module.php
__________________
"אני לא מעצב גרפי... אני לא פלאשר תותח... בטח שלא מנכ"ל של חברת בניית אתרים, כעיקרון אסור לי להיות מועסק.. אבל אני... מתכנת ב-PHP , וגם, לא ממש מציעה.." (יצא לי מוזר משהו...חח)
  Reply With Quote
ישן 28-01-07, 19:42   # 10
RS324
תודה על תרומתך.
 
מיני פרופיל
תאריך הצטרפות: May 2006
הודעות: 3,173

RS324 לא מחובר  

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

וגם בדפי מערכת לא שמתי הכל.. יש עוד.. למשל login_check, שבודק ולידאציה.. ואני חושב שדווקא בדיקת הרשאות זה משהו שלא מאנקלדים..אלא שמים את זה כחלק מ- module.php
כל אפליקציה שאתה כותב אתה רוצה לכתוב גם את הפנאל ניהול וגם את העיצוב וכל השטויות מחדש ?
אתה מנסה לעשות משהו שהוא קצת יותר מידי גדול ומעצבן
העיצוב (הטבלאות, הקישורים) ישתנה עם המודולים זה ברור
אבל את הבסיס אתה צריך לעשות

אתה מנסה לעשות מודול שיתאים לכל מערכת שהיא בעולם....

זה כבר לא מערכת

אתה מנסה לעשות FRAMEWORK...
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


כל הזמנים הם GMT +2. הזמן כעת הוא 05:05.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ