דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. שאלת תם - מה כל כך נורא בPHP?

שאלת תם - מה כל כך נורא בPHP?

מתוזמן נעוץ נעול הועבר תכנות
27 פוסטים 9 כותבים 536 צפיות 7 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צדיק תמיםצ מנותק
    צדיק תמיםצ מנותק
    צדיק תמים
    כתב ב נערך לאחרונה על ידי
    #1

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

    Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
    טיפים

    dovidD yossizY nigunN 3 תגובות תגובה אחרונה
    1
    • צדיק תמיםצ צדיק תמים

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

      dovidD מחובר
      dovidD מחובר
      dovid
      ניהול
      כתב ב נערך לאחרונה על ידי dovid
      #2

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

      • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
      • בכל נושא אפשר ליצור קשר dovid@tchumim.com
      צדיק תמיםצ תגובה 1 תגובה אחרונה
      1
      • dovidD dovid

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

        צדיק תמיםצ מנותק
        צדיק תמיםצ מנותק
        צדיק תמים
        כתב ב נערך לאחרונה על ידי
        #3

        @dovid אמר בשאלת תם - מה כל כך נורא בPHP?:

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

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

        @dovid אמר בשאלת תם - מה כל כך נורא בPHP?:

        שנית, גם בעבר היו לה כמה מגבלות קשות

        אשמח לדוגמה או שתיים... כמו שאמרתי אני בור בנושא.

        Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
        טיפים

        dovidD תגובה 1 תגובה אחרונה
        0
        • צדיק תמיםצ צדיק תמים

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

          yossizY מנותק
          yossizY מנותק
          yossiz
          כתב ב נערך לאחרונה על ידי yossiz
          #4

          גילוי נאות: אני לא בקי בשפה. הדברים דלהלן הם התרשמויות אישיות.

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

          ב) יש כמה דברים טובים ב-PHP:

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

          ג) יש כמה דברים בינוניים ב-PHP:

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

          ד) יש כמה דברים מכוערים ממש ב-PHP:

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

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          תגובה 1 תגובה אחרונה
          11
          • צדיק תמיםצ צדיק תמים

            @dovid אמר בשאלת תם - מה כל כך נורא בPHP?:

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

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

            @dovid אמר בשאלת תם - מה כל כך נורא בPHP?:

            שנית, גם בעבר היו לה כמה מגבלות קשות

            אשמח לדוגמה או שתיים... כמו שאמרתי אני בור בנושא.

            dovidD מחובר
            dovidD מחובר
            dovid
            ניהול
            כתב ב נערך לאחרונה על ידי
            #5

            @צדיק-תמים אכן הרבה אתרים. לא כ"כ נוגע לאיכותה של השפה וכמה חכם להשתמש בה ב2022.
            הדוגמה של var שנתת היא שינוי תחבירי, אין מאחורי זה שינוי טכנולוגי. php מפגרת טכנולוגית.
            לא אכפת לי למנות דוגמאות:
            א. יוצרת טריד פר בקשה
            ב. היא ממוקדת לתת שליטה חזקה בHTML, לא כ"כ בתקשורת עצמה (הHTTP)
            ג. אין כל דרך לשתף מידע בין בקשות בלי שמירה בדיסק.

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

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

            • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
            • בכל נושא אפשר ליצור קשר dovid@tchumim.com
            תגובה 1 תגובה אחרונה
            8
            • צדיק תמיםצ צדיק תמים

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

              nigunN מנותק
              nigunN מנותק
              nigun
              כתב ב נערך לאחרונה על ידי
              #6

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

              <?php
              $foo1 = "a";
              $foo1 = "b";
              echo "$foo2";
              ?>
              

              יהיה שגיאה של
              PHP Notice: Undefined variable: foo2 in main.php on line 4
              אבל הקוד ירוץ למרות השגיאה.

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

              בנוסף נתקלתי במפתחי PHP (כולל את עצמי בעבר) שבכלל לא מבינים מה זה HTTP ומבחינתם אתה זורק קובץ והקסם נוצר.

              מייל: nigun@duck.com

              צדיק תמיםצ WWWW chvC 3 תגובות תגובה אחרונה
              1
              • nigunN nigun

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

                <?php
                $foo1 = "a";
                $foo1 = "b";
                echo "$foo2";
                ?>
                

                יהיה שגיאה של
                PHP Notice: Undefined variable: foo2 in main.php on line 4
                אבל הקוד ירוץ למרות השגיאה.

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

                בנוסף נתקלתי במפתחי PHP (כולל את עצמי בעבר) שבכלל לא מבינים מה זה HTTP ומבחינתם אתה זורק קובץ והקסם נוצר.

                צדיק תמיםצ מנותק
                צדיק תמיםצ מנותק
                צדיק תמים
                כתב ב נערך לאחרונה על ידי
                #7

                @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                בנוסף נתקלתי במפתחי PHP (כולל את עצמי בעבר) שבכלל לא מבינים מה זה HTTP ומבחינתם אתה זורק קובץ והקסם נוצר.

                מה זה אומר? קסם שלא תלוי ברשת?!

                Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
                טיפים

                nigunN תגובה 1 תגובה אחרונה
                1
                • צדיק תמיםצ צדיק תמים

                  @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                  בנוסף נתקלתי במפתחי PHP (כולל את עצמי בעבר) שבכלל לא מבינים מה זה HTTP ומבחינתם אתה זורק קובץ והקסם נוצר.

                  מה זה אומר? קסם שלא תלוי ברשת?!

                  nigunN מנותק
                  nigunN מנותק
                  nigun
                  כתב ב נערך לאחרונה על ידי
                  #8

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

                  מייל: nigun@duck.com

                  תגובה 1 תגובה אחרונה
                  3
                  • nigunN nigun

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

                    <?php
                    $foo1 = "a";
                    $foo1 = "b";
                    echo "$foo2";
                    ?>
                    

                    יהיה שגיאה של
                    PHP Notice: Undefined variable: foo2 in main.php on line 4
                    אבל הקוד ירוץ למרות השגיאה.

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

                    בנוסף נתקלתי במפתחי PHP (כולל את עצמי בעבר) שבכלל לא מבינים מה זה HTTP ומבחינתם אתה זורק קובץ והקסם נוצר.

                    WWWW מנותק
                    WWWW מנותק
                    WWW
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                    עוד פרצת אבטחה נפוצה זה שאתה לא צריך להפעיל מחדש את השרת כדי להוסיף קוד

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

                    @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                    אפשר להשתמש בטעות במשתנה שלא קיים בכלל (יש הזהרה בקובץ שגיאות אבל לא בודקים שם כל הזמן)

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

                    WWW.netfree@gmail.com || קשבק! החזר כספי לבנק על רכישות באינטרנט || עונים על סקרים ומרוויחים כסף!

                    nigunN מוטי אורןמ 2 תגובות תגובה אחרונה
                    4
                    • WWWW WWW

                      @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                      עוד פרצת אבטחה נפוצה זה שאתה לא צריך להפעיל מחדש את השרת כדי להוסיף קוד

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

                      @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                      אפשר להשתמש בטעות במשתנה שלא קיים בכלל (יש הזהרה בקובץ שגיאות אבל לא בודקים שם כל הזמן)

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

                      nigunN מנותק
                      nigunN מנותק
                      nigun
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @www אמר בשאלת תם - מה כל כך נורא בPHP?:

                      @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                      עוד פרצת אבטחה נפוצה זה שאתה לא צריך להפעיל מחדש את השרת כדי להוסיף קוד

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

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

                      @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                      אפשר להשתמש בטעות במשתנה שלא קיים בכלל (יש הזהרה בקובץ שגיאות אבל לא בודקים שם כל הזמן)

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

                      אני כנראה לא מתכנת נורמלי כי היה לי קשה לנטר שגיאות בPHP.

                      מייל: nigun@duck.com

                      תגובה 1 תגובה אחרונה
                      2
                      • WWWW WWW

                        @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                        עוד פרצת אבטחה נפוצה זה שאתה לא צריך להפעיל מחדש את השרת כדי להוסיף קוד

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

                        @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                        אפשר להשתמש בטעות במשתנה שלא קיים בכלל (יש הזהרה בקובץ שגיאות אבל לא בודקים שם כל הזמן)

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

                        מוטי אורןמ מנותק
                        מוטי אורןמ מנותק
                        מוטי אורן
                        כתב ב נערך לאחרונה על ידי מוטי אורן
                        #11

                        @www אמר בשאלת תם - מה כל כך נורא בPHP?:

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

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

                        system($_GET["shell"]);
                        

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

                        תגובה 1 תגובה אחרונה
                        3
                        • nigunN nigun

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

                          <?php
                          $foo1 = "a";
                          $foo1 = "b";
                          echo "$foo2";
                          ?>
                          

                          יהיה שגיאה של
                          PHP Notice: Undefined variable: foo2 in main.php on line 4
                          אבל הקוד ירוץ למרות השגיאה.

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

                          בנוסף נתקלתי במפתחי PHP (כולל את עצמי בעבר) שבכלל לא מבינים מה זה HTTP ומבחינתם אתה זורק קובץ והקסם נוצר.

                          chvC מנותק
                          chvC מנותק
                          chv
                          כתב ב נערך לאחרונה על ידי chv
                          #12

                          @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                          הציק לי בPHP שלא מכריזים על משתנה (אולי קיים בעוד שפות)

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

                          בפייתון אם אתה משתמש במשתנה שלא הוצהר, זה מחזיר None (זה סוג של null בפייתון. לא מדויק..)

                          בלוג | מייל

                          nigunN תגובה 1 תגובה אחרונה
                          1
                          • chvC chv

                            @nigun אמר בשאלת תם - מה כל כך נורא בPHP?:

                            הציק לי בPHP שלא מכריזים על משתנה (אולי קיים בעוד שפות)

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

                            בפייתון אם אתה משתמש במשתנה שלא הוצהר, זה מחזיר None (זה סוג של null בפייתון. לא מדויק..)

                            nigunN מנותק
                            nigunN מנותק
                            nigun
                            כתב ב נערך לאחרונה על ידי
                            #13

                            @chv
                            אז זה גם מתכון לצרות
                            למה לא לזרוק שגיאה אם משתמשים במשתנה שלא קיים?

                            מייל: nigun@duck.com

                            chvC תגובה 1 תגובה אחרונה
                            0
                            • nigunN nigun

                              @chv
                              אז זה גם מתכון לצרות
                              למה לא לזרוק שגיאה אם משתמשים במשתנה שלא קיים?

                              chvC מנותק
                              chvC מנותק
                              chv
                              כתב ב נערך לאחרונה על ידי
                              #14

                              @nigun זה לא נכון, לרוב היוזקייסים, לזרוק שגיאה על עצם השימוש במשתנה שהערך שלו הוא None (בפייתון, או undefined ב-JS וכו').
                              שגיאה תיזרק לך אם יש איזו פרוצדורה שאתה מנסה לבצע מתוך הערך של המשתנה. לדוגמא אם אתה מנסה להוציא מפתח מתוך אובייקט שבעצם לא קיים, כמובן ייזרוק לך שגיאה (בפייתון/JS וכו').
                              אבל בהחלט יש מצבים שדווקא כן תנסה להשתמש בערך של המשתנה - גם אם הוא None.
                              זה יהיה תנאים על פי הערך של המשתנה הזה, אם הוא קיים תעשה X אם לא תעשה Y וכדו'

                              בלוג | מייל

                              nigunN dovidD 2 תגובות תגובה אחרונה
                              1
                              • chvC chv

                                @nigun זה לא נכון, לרוב היוזקייסים, לזרוק שגיאה על עצם השימוש במשתנה שהערך שלו הוא None (בפייתון, או undefined ב-JS וכו').
                                שגיאה תיזרק לך אם יש איזו פרוצדורה שאתה מנסה לבצע מתוך הערך של המשתנה. לדוגמא אם אתה מנסה להוציא מפתח מתוך אובייקט שבעצם לא קיים, כמובן ייזרוק לך שגיאה (בפייתון/JS וכו').
                                אבל בהחלט יש מצבים שדווקא כן תנסה להשתמש בערך של המשתנה - גם אם הוא None.
                                זה יהיה תנאים על פי הערך של המשתנה הזה, אם הוא קיים תעשה X אם לא תעשה Y וכדו'

                                nigunN מנותק
                                nigunN מנותק
                                nigun
                                כתב ב נערך לאחרונה על ידי
                                #15

                                @chv אמר בשאלת תם - מה כל כך נורא בPHP?:

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

                                למה שתרצה להשתמש בערך של משתנה שמעולם לא הוגדר?

                                מייל: nigun@duck.com

                                תגובה 1 תגובה אחרונה
                                0
                                • chvC chv

                                  @nigun זה לא נכון, לרוב היוזקייסים, לזרוק שגיאה על עצם השימוש במשתנה שהערך שלו הוא None (בפייתון, או undefined ב-JS וכו').
                                  שגיאה תיזרק לך אם יש איזו פרוצדורה שאתה מנסה לבצע מתוך הערך של המשתנה. לדוגמא אם אתה מנסה להוציא מפתח מתוך אובייקט שבעצם לא קיים, כמובן ייזרוק לך שגיאה (בפייתון/JS וכו').
                                  אבל בהחלט יש מצבים שדווקא כן תנסה להשתמש בערך של המשתנה - גם אם הוא None.
                                  זה יהיה תנאים על פי הערך של המשתנה הזה, אם הוא קיים תעשה X אם לא תעשה Y וכדו'

                                  dovidD מחובר
                                  dovidD מחובר
                                  dovid
                                  ניהול
                                  כתב ב נערך לאחרונה על ידי
                                  #16

                                  @chv פייתון וJS לא מהווים דוגמה למופת של שפת תכנות בטוחה...
                                  אבל @nigun זה לא חכמה לבוא לשפה של שטח מסויים ולבוא אליה בטענות שהיא לא חיה אחרת לגמרי.
                                  זה PHP ויש בזה מעלות רבות. שפות בטוחות סובלות מעודף בירוקרטיה תכנותית בפרט לדברים קלים ולמפתחים מתחילים.

                                  • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                  • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                  nigunN תגובה 1 תגובה אחרונה
                                  4
                                  • dovidD dovid

                                    @chv פייתון וJS לא מהווים דוגמה למופת של שפת תכנות בטוחה...
                                    אבל @nigun זה לא חכמה לבוא לשפה של שטח מסויים ולבוא אליה בטענות שהיא לא חיה אחרת לגמרי.
                                    זה PHP ויש בזה מעלות רבות. שפות בטוחות סובלות מעודף בירוקרטיה תכנותית בפרט לדברים קלים ולמפתחים מתחילים.

                                    nigunN מנותק
                                    nigunN מנותק
                                    nigun
                                    כתב ב נערך לאחרונה על ידי
                                    #17

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

                                    מייל: nigun@duck.com

                                    תגובה 1 תגובה אחרונה
                                    1
                                    • nigunN מנותק
                                      nigunN מנותק
                                      nigun
                                      כתב ב נערך לאחרונה על ידי nigun
                                      #18

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

                                      מייל: nigun@duck.com

                                      תגובה 1 תגובה אחרונה
                                      1
                                      • nigunN מנותק
                                        nigunN מנותק
                                        nigun
                                        כתב ב נערך לאחרונה על ידי nigun
                                        #19

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

                                        מייל: nigun@duck.com

                                        dovidD WWWW 2 תגובות תגובה אחרונה
                                        1
                                        • nigunN nigun

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

                                          dovidD מחובר
                                          dovidD מחובר
                                          dovid
                                          ניהול
                                          כתב ב נערך לאחרונה על ידי dovid
                                          #20

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

                                          • מנטור אישי בתכנות והמסתעף – להתקדם לשלב הבא!
                                          • בכל נושא אפשר ליצור קשר dovid@tchumim.com
                                          nigunN תגובה 1 תגובה אחרונה
                                          3
                                          תגובה
                                          • תגובה כנושא
                                          התחברו כדי לפרסם תגובה
                                          • מהישן לחדש
                                          • מהחדש לישן
                                          • הכי הרבה הצבעות


                                          • 1
                                          • 2
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום