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

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

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. php לגשת לשיטה מחוץ לפונקציה (בתוך הקלאס)

php לגשת לשיטה מחוץ לפונקציה (בתוך הקלאס)

מתוזמן נעוץ נעול הועבר תכנות
9 פוסטים 4 כותבים 211 צפיות 3 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • chagoldC מנותק
    chagoldC מנותק
    chagold
    כתב ב נערך לאחרונה על ידי
    #1

    בקוד הזה יש שגיאה כיון שבשורה 6 הוא ניגש ל$as שנמצא מחוץ לפונקציה.
    איך אני יכול להריץ את הפונקציה עם ערכים מבחוץ ?

    איש נחמדא ל 2 תגובות תגובה אחרונה
    0
    • chagoldC chagold

      בקוד הזה יש שגיאה כיון שבשורה 6 הוא ניגש ל$as שנמצא מחוץ לפונקציה.
      איך אני יכול להריץ את הפונקציה עם ערכים מבחוץ ?

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

      עם global

      global $as;
      

      להיות איש נחמד זה מחייב...

      chagoldC תגובה 1 תגובה אחרונה
      1
      • איש נחמדא איש נחמד

        עם global

        global $as;
        
        chagoldC מנותק
        chagoldC מנותק
        chagold
        כתב ב נערך לאחרונה על ידי
        #3

        @איש-נחמד לא עובד
        https://onlinephp.io/c/a0307

        איש נחמדא תגובה 1 תגובה אחרונה
        0
        • chagoldC chagold

          @איש-נחמד לא עובד
          https://onlinephp.io/c/a0307

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

          @chagold כתב בphp לגשת לשיטה מחוץ לפונקציה (בתוך הקלאס):

          @איש-נחמד לא עובד
          https://onlinephp.io/c/a0307

          בקישור הזה לא עשית שימוש בגלובל בתוך הפונקציה
          ראה כאן:
          https://onlinephp.io/c/ae84f

          ב-stackoverflow
          ראיתי פיתרון כזה:
          https://onlinephp.io/c/c6d30

          להיות איש נחמד זה מחייב...

          chagoldC תגובה 1 תגובה אחרונה
          2
          • איש נחמדא איש נחמד

            @chagold כתב בphp לגשת לשיטה מחוץ לפונקציה (בתוך הקלאס):

            @איש-נחמד לא עובד
            https://onlinephp.io/c/a0307

            בקישור הזה לא עשית שימוש בגלובל בתוך הפונקציה
            ראה כאן:
            https://onlinephp.io/c/ae84f

            ב-stackoverflow
            ראיתי פיתרון כזה:
            https://onlinephp.io/c/c6d30

            chagoldC מנותק
            chagoldC מנותק
            chagold
            כתב ב נערך לאחרונה על ידי
            #5

            @איש-נחמד תודה

            במקרה הזה - לא הצלחתי - https://onlinephp.io/c/a0bde

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

            הפתרון מהסטאק עבד.
            תודה

            dovidD איש נחמדא 2 תגובות תגובה אחרונה
            0
            • chagoldC chagold

              @איש-נחמד תודה

              במקרה הזה - לא הצלחתי - https://onlinephp.io/c/a0bde

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

              הפתרון מהסטאק עבד.
              תודה

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

              הפתרון הנכון הוא שימוש בuse:

              function($v, $k) use($as) {
              

              הנה דוגמא: https://onlinephp.io/c/0873e

              מצאתי את זה ככה
              גוגל: php lambda access parent scope variable
              תוצאה: https://stackoverflow.com/a/15042216/1271037
              תיעוד: https://www.php.net/manual/en/functions.anonymous.php

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

                הפתרון הנכון הוא שימוש בuse:

                function($v, $k) use($as) {
                

                הנה דוגמא: https://onlinephp.io/c/0873e

                מצאתי את זה ככה
                גוגל: php lambda access parent scope variable
                תוצאה: https://stackoverflow.com/a/15042216/1271037
                תיעוד: https://www.php.net/manual/en/functions.anonymous.php

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

                אופס רק כעת ראיתי ש@איש-נחמד כתב את זה.
                זה נשמע איזה "פתרון" אבל זה דרך המלך.
                global במקרה הזה זה מזעזע ברמות של תיעוב.

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

                  @איש-נחמד תודה

                  במקרה הזה - לא הצלחתי - https://onlinephp.io/c/a0bde

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

                  הפתרון מהסטאק עבד.
                  תודה

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

                  @chagold כתב בphp לגשת לשיטה מחוץ לפונקציה (בתוך הקלאס):

                  במקרה הזה - לא הצלחתי - https://onlinephp.io/c/a0bde

                  מכיוון שהמשתנה $as זמין רק בתוך הפונקציה a ולא במרחב הגלובלי, לפונקציה aaa אין לכאורה גישה למרחב של הפונקציה a

                  להיות איש נחמד זה מחייב...

                  תגובה 1 תגובה אחרונה
                  0
                  • chagoldC chagold

                    בקוד הזה יש שגיאה כיון שבשורה 6 הוא ניגש ל$as שנמצא מחוץ לפונקציה.
                    איך אני יכול להריץ את הפונקציה עם ערכים מבחוץ ?

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

                    @chagold כתב בphp לגשת לשיטה מחוץ לפונקציה (בתוך הקלאס):

                    איך אני יכול להריץ את הפונקציה עם ערכים מבחוץ ?

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

                    ככה

                    <?php
                    $as = 'c';
                    
                    $arr = ['a' => 1, 'b' => 2, 'c' => 3, 'd' => 4];
                    $outputB = array_filter($arr, function ($v, $k) {
                      return $k == $GLOBALS['as'] || $v == 4;
                    }, ARRAY_FILTER_USE_BOTH);
                    print_r($outputB);
                    
                    
                    תגובה 1 תגובה אחרונה
                    2
                    תגובה
                    • תגובה כנושא
                    התחברו כדי לפרסם תגובה
                    • מהישן לחדש
                    • מהחדש לישן
                    • הכי הרבה הצבעות


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

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

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