הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   פריימוורק שיצרתי לשימוש חופשי - מתאים למתחילים ומתקדמים כאחד (https://hosts.co.il/forums/showthread.php?t=94260)

georgyp 22-12-11 22:03

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

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

אתם מוזמנים להוריד את הקובץ, לקרוא את הערות ולהתחיל לעבוד עליו.
כמובן שאם יש משהו שאתם רוצים להוסיף או לשנות, ניתן לשלוח למייל: avivmas@gmail.com

קישור להורדה: http://php1.myvnc.com/php-framework.zip

אשמח כמובן לקבל ביקורת ;P

satan 22-12-11 22:50

אני יודע שלא הרבה יגיבו לך כי הפורום הזה די מת...

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

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

כל מקרה יפה מאוד ותמשיך בעבודה!

IgalSt 22-12-11 22:57

ציטוט:

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

אני חושש שאתה טועה לגבי המת ואני לוקח את זה אישית.


ול-georgyp, תודה רבה על השיתוף.
אני מניח שהחבר'ה של ה-PHP יכתבו כמה מילים :)

NetanelEdri 22-12-11 23:13

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

בהצלחה.

georgyp 22-12-11 23:19

ציטוט:

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

בהצלחה.

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

IgalSt 23-12-11 00:00

אני לא מתכנת PHP, אבל מבחינת פידבק בונה שאפשר לתת בכל מקרה בלי קשר לשפה:

הדבר הראשון שצורם לי בעין זה שאין כל הזחה (indentation) בקוד.
דבר זה מאוד פוגע בקריאות של הקוד וכן בתחזוקה העתידית שלו וקוד מהסוג הזה לעולם לא יעבור code review.
שמתי לב שניהול ה-empty line space לא אחיד ופעם יש כמה שורות ריקות ופעם יש אחת. מומלץ להיות קונסטינטנטי.
ממליץ בחום לעשות סדר.

georgyp 23-12-11 00:10

ציטוט:

נכתב במקור על ידי IgalSt (פרסם 829229)
אני לא מתכנת PHP, אבל מבחינת פידבק בונה שאפשר לתת בכל מקרה בלי קשר לשפה:

הדבר הראשון שצורם לי בעין זה שאין כל הזחה (indentation) בקוד.
דבר זה מאוד פוגע בקריאות של הקוד וכן בתחזוקה העתידית שלו וקוד מהסוג הזה לעולם לא יעבור code review.
שמתי לב שניהול ה-empty line space לא אחיד ופעם יש כמה שורות ריקות ופעם יש אחת. מומלץ להיות קונסטינטנטי.
ממליץ בחום לעשות סדר.

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

link 23-12-11 00:59

ציטוט:

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

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

georgyp 23-12-11 01:42

ציטוט:

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

בכיף :] כל תרומה תתקבל בברכה

NetanelEdri 23-12-11 02:02

ציטוט:

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

כל מה שצריך כדי להתחיל לבנות אתר כלשהו ?
יצא לך לעיין בפריימוורקים אמיתיים ? אם כן איפה קיים אצלך:
מודל MVC , עבודה מול מספר דרייברים של מסדי נתונים (בכלל עבודה מול מסד בצורה רצינית) , דיבאגר , עבודה מול שפות , עבודה מול קבצים , קונפיגורציה , עבודה עם AJAX \ קידודים שונים , HELPERS מסוגים כאלה ואחרים , יצירת אפליקציות

ובאמת בלי שתיפגע , 300 + שורות זה לא קובץ אחד בפרימוורק נורמלי , אבל לא מספר השורות מפריע לי בעבודה שלך אלא זה שהיא לא מספקת ולא יכולה להיקרא פריימוורק.

אתה חושב שבאתי במטרה לפגוע , אני באתי במטרה להראות לך שיש לך על מה לעבוד ושזה עדיין לא פריימוורק.

georgyp 23-12-11 02:32

ציטוט:

נכתב במקור על ידי NetanelEdri (פרסם 829235)
כל מה שצריך כדי להתחיל לבנות אתר כלשהו ?
יצא לך לעיין בפריימוורקים אמיתיים ? אם כן איפה קיים אצלך:
מודל MVC , עבודה מול מספר דרייברים של מסדי נתונים (בכלל עבודה מול מסד בצורה רצינית) , דיבאגר , עבודה מול שפות , עבודה מול קבצים , קונפיגורציה , עבודה עם AJAX \ קידודים שונים , HELPERS מסוגים כאלה ואחרים , יצירת אפליקציות

ובאמת בלי שתיפגע , 300 + שורות זה לא קובץ אחד בפרימוורק נורמלי , אבל לא מספר השורות מפריע לי בעבודה שלך אלא זה שהיא לא מספקת ולא יכולה להיקרא פריימוורק.

אתה חושב שבאתי במטרה לפגוע , אני באתי במטרה להראות לך שיש לך על מה לעבוד ושזה עדיין לא פריימוורק.

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

לצורך הדוגמה, כדי ליצור דף "אודות" לדוגמה, אתה פשוט צריך לשכפל את הקובץ RESOURCE/INDEX.PHP לאותה התיקיה, ולשנות לקובץ את השם ל- about.php.
כעת כל מה שנותר לך לעשות זה לערוך את התוכן של הדף ולהגדיר בו את התגי מטא (TITLE).
וכל זה נעשה באותו הקובץ about.php
כדי לגשת ולראות את התוכן בדף הזה, הכתובת תיהיה: domain.co.il/?about
עכשיו מה שמדליק זה שאתה בקלות יכול להגדיר שהכתובת תיהיה domain.co.il/אודות/ או domain.co.il/about/
ואת זה אתה עושה דרך הקובץ config.php

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

NetanelEdri 23-12-11 02:48

ציטוט:

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

לצורך הדוגמה, כדי ליצור דף "אודות" לדוגמה, אתה פשוט צריך לשכפל את הקובץ RESOURCE/INDEX.PHP לאותה התיקיה, ולשנות לקובץ את השם ל- about.php.
כעת כל מה שנותר לך לעשות זה לערוך את התוכן של הדף ולהגדיר בו את התגי מטא (TITLE).
וכל זה נעשה באותו הקובץ about.php
כדי לגשת ולראות את התוכן בדף הזה, הכתובת תיהיה: domain.co.il/?about
עכשיו מה שמדליק זה שאתה בקלות יכול להגדיר שהכתובת תיהיה domain.co.il/אודות/ או domain.co.il/about/
ואת זה אתה עושה דרך הקובץ config.php

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

אני לא רוצה להרוס לך את האשכול , אני רואה שאתה דבק בדעה שלך.
כל הדברים שאמרתי לא נחוצים ? כל המטרה של פרימוורק היא ליצור סביבת עבודה אופטימלית ובעלת כל הכלים הנדרשים לפיתוח בצורה מרוכזת , גם אם אתה חושב שזה לא נחוץ כל מיני כלים זה נחוץ בפריימוורק כדי שכל מי שבא לתכנת אתה יוכל לעבוד עם כל דבר שבד"כ צריך.
מה שכן אני יכול להבטיח לך שאתה טועה וובגדול , במיוחד בשני המשפטים הבאים:
"והכי חשוב זה שאין פה OOP" -
"בדגש על MVC שזולל משאבים"

שיהיה לך בהצלחה.

georgyp 23-12-11 03:07

ציטוט:

נכתב במקור על ידי NetanelEdri (פרסם 829237)
אני לא רוצה להרוס לך את האשכול , אני רואה שאתה דבק בדעה שלך.
כל הדברים שאמרתי לא נחוצים ? כל המטרה של פרימוורק היא ליצור סביבת עבודה אופטימלית ובעלת כל הכלים הנדרשים לפיתוח בצורה מרוכזת.
מה שכן אני יכול להבטיח לך שאתה טועה וובגדול , במיוחד בשני המשפטים הבאים:
"והכי חשוב זה שאין פה OOP"
"בדגש על MVC שזולל משאבים"

שיהיה לך בהצלחה.

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

NetanelEdri 23-12-11 03:25

ציטוט:

נכתב במקור על ידי georgyp (פרסם 829238)
MVC = החלפת תווי PHP בתווים דמויי PHP - פעולה כזאת צורכת משאבים וחסרת כל ביסוס.
OOP = פרדיגמת תיכנות שלי אישית לא נוחה, אנשים שרגילים לעבוד איתה זה כבר משהו אחר, אבל OOP הופכת קוד פשוט להרבה יותר מסובך למי שלא משתמש ב OOP או שאינו יודע PHP.

ההגדרה שלך ל MVC לא דומה בכלל להגדרה הנכונה , לגבי OOP אישית לך או לא זאת שיטת תכנות לא רק ב PHP שעולה על תכנות פרוצודלי , מסובך ? אולי בשבילך , בשבילי הוא יותר הגיוני |:

georgyp 23-12-11 03:48

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

satan 23-12-11 09:09

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

כל מקרה
http://www.killerphp.com/tutorials/object-oriented-php/

וזה מדריך OOP לשימוש "בחיים האמתיים", לא עוד דוגמאות על כלב, הCHILD של הכלב ופונקציות על כלבים מחרבנים ומשתינים
http://net.tutsplus.com/tutorials/ph...php-and-mysql/

אדיר 23-12-11 10:21

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

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

MVC היא לדעתי תבנית עיצוב/ תבנית ארכיטקטורה מהיותר חשובות למערכות שהן קצת יותר מכמה דפים בודדים ובעלות פוטנציאל התפתחות עתידי,
למערכות בהן יש צוותים נפרדים שעובדים עליהן (לדוג' ובעיקר מפתחי back-end ומפתחי front-end) אין בכלל על מה לדבר.
היתרון הגדול ב- MVC הוא שניתן לפתח את כל אחד מהצדדים (model\ view) ללא שום תלות באחר כל עוד הוא נשאר תואם להגדרות האינטרקציה ביניהם (הקונטרולר).

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

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

Erez | TrustMedia.co.il 23-12-11 10:35

ציטוט:

נכתב במקור על ידי georgyp (פרסם 829238)
MVC = החלפת תווי PHP בתווים דמויי PHP - פעולה כזאת צורכת משאבים וחסרת כל ביסוס.
OOP = פרדיגמת תיכנות שלי אישית לא נוחה, אנשים שרגילים לעבוד איתה זה כבר משהו אחר, אבל OOP הופכת קוד פשוט להרבה יותר מסובך למי שלא משתמש ב OOP או שאינו יודע PHP.

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

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

NetanelEdri 23-12-11 11:17

ציטוט:

נכתב במקור על ידי georgyp (פרסם 829240)
נתנאל, אתה כנראה הולך עם הזרם... אני אישית הולך נגד הזרם, לא כל מה שהרוב קובע באמת נכון לעשות.
לי אישית יש מספיק ניסיון ב- PHP, הפרמוורק שהצגתי כאן הוא תוצר טבעי של הרבה גילגולים ממערכות קודמות שבניתי מאז שהתחלתי לתכנת ב- PHP.
כל פעם שהתחלתי לתכנת מערכת חדשה נוכחתי לדעת שאפשר לעשות מבנה מערכת אופטימאלי לעבודה וזה מה שיצא, מאז אני מתאמץ הרבה פחות כדי לבנות מערכת.
וכל זה בלי OOP או MVC למיניהם... אבל כל אחד איך שנוח לו...

נראה "שהזרם" שאתה חושב שאני אומר את זה בגללו חושב כמוני.
כל מה שאמרתי אמרתי לא בגלל שום "זרם" פשוט מה שאתה אומר פה הם הגדרות שגויות לחלוטין והעבודה שלך מבורכת אבל לא יכולה להיקרא פרימוורק.

IgalSt 23-12-11 17:46

כמה פנינות חוכמה שלי, ברשותכם:

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

לדעתי הדיון פה לא היה האם עדיף OOP + MVC מול לא OOP ו- design pattern אחר, אלא האם במקרה של אתרים קטנים זה נדרש.

‏georgyp הציג פה את הפונקציות שלו יוצרות תבנית התחלתית נאה עבור אתרים קטנים.
לקרא לזה פרייפוורק או לא זה לא כ"כ משנה לדעתי.

אדיר 23-12-11 17:57

יגאל:
מצד אחד - אתה צודק,
מצד שני - זה לא מה שהתכוון המשורר.

מתוך האשכול הראשי -
ציטוט:

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

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

שיהיה המון בהצלחה.

NetanelEdri 23-12-11 18:01

ציטוט:

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

מתוך האשכול הראשי -


ומהתגובות ששלח הבחור ניתן לקרוא למה הוא בחר שלא לממש את הנ"ל, הסיבות הללו לא נכונות.

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

שיהיה המון בהצלחה.

+1 , בדיוק מה שאני מנסה להסביר פה.


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

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