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

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

בניה 25-12-10 10:30

תקרא על
http://il2.php.net/date_diff
זו פונקציה חדשה אני לא בטוח באיזה גירסאות של PHP היא תעבוד
אתה יכול למחפש מימוש שלה ברשת, או להשתמש בMYSQL שיש לו פונקציה דומה.

http://dev.mysql.com/doc/refman/5.5/...ction_datediff

Itay 25-12-10 13:18

ציטוט:

נכתב במקור על ידי BlueNosE (פרסם 790442)
איך אתה יכול לומר דבר כזה? זה רק משיקולי עצלנות. מה כל כך קשה להמיר את "3:30 עוד שבועיים" ל"time() + שבועיים" -> "מה הנק' זמן באותו יום בשעה 3:30"? החסכון משמעותי והשינוי לא גדול.

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

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

Haimz 25-12-10 13:35

התגובה הרביעית בערך
אמרתי שהסדרתי ..
אפשר לנעול :S

BlueNosE 25-12-10 14:20

ציטוט:

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

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

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

ציטוט:

נכתב במקור על ידי Hanino (פרסם 790547)
התגובה הרביעית בערך
אמרתי שהסדרתי ..
אפשר לנעול :S

התפתח פה דיון מעניין, למה לנעול? ;P

Itay 25-12-10 18:16

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

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

BlueNosE 25-12-10 18:56

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

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

Itay 25-12-10 19:58

ואתה שוכח את החלק העיקרי פה, שאני אתן לך תזכורת אליו מההודעה הראשונה:
PHP קוד:

 $day = @htmlspecialchars($_GET['day']); 

(עזוב אותך שלא הבנתי מה קשור ספיישל צ'ארס לתאריך)

את התאריך הוא מקבל מהמשתמש - אז למה לחייב את המשתמש על דרך כתיבה מסויימת?

BlueNosE 25-12-10 21:12

אממ.. האמת שלא שמתי לב לזה.. אבל סתם כי אף אחד לא באמת רושם "Tomorrow, 4:00 PM". והדיון היה על יום הולדת - שבכמה פורמטים זה כבר יכול להיות? אתה יכול לחפש מה הדלימיטר שהמשתמש שם (כל דבר שהוא לא מספר) ולפצל ל3, ועדיין לחסוך במשאבים

Itay 25-12-10 22:45

ואם המשתמש הכניס שהיומולדת שלו ב12 לינואר?

BlueNosE 25-12-10 23:00

אז הוא משתמש מוזר. ואגב פה גם הפונקציה הזאת לא תעזור, אתה תצטרך להחליף את "12 לינואר" ל"January 12", וככל שאתה מתחכם עם הוריאציות זה נהיה יותר מורכב לתרגם את זה. בקיצור עדיף לבקש מהמשתמש פה פורמט קבוע (גמיש ככל שיהיה) וזהו לדעתי


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

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