Undefined variable in foreach

Overzicht

Sponsored by: Vacatures door Monsterboard

Ben Pastoor

Ben Pastoor

31/12/2020 12:09:01
Anchor link
Goedemiddag,


Mijn variable $classes is undefined. De variable $classes wil ik gebruiken in een foreach loop naar $class.
De variable $classes is een array welke in een andere file staat, deze doe ik voor de foreach laden.
Toch word de $variable niet gevonden en krijg dan ook de melding Undefined variable

Ik krijg overigens geen foutmelding dat er een fout is met het laden van de desbetreffende file.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class LoadFile
{
    public static function MatchUrlToFile($request)
    {

        require_once 'theclasses.php';
        foreach($classes as $class => $path)
        {

            if ($request == $class){
                require_once $path;
            }
        }
    }
}

?>


De file theclasses.php heeft een simple array
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$classes
  = array
(
    'class' => 'path',
    'class' => 'path',
//enz.
);
?>



Wie o wie kan mij helpen?
 
PHP hulp

PHP hulp

26/04/2024 02:29:09
 
- Ariën  -
Beheerder

- Ariën -

31/12/2020 12:11:48
Anchor link
Wat geeft var_dump($classes) aan?
Bestaat dat bestand wel?
Gewijzigd op 31/12/2020 12:16:35 door - Ariën -
 
Ben Pastoor

Ben Pastoor

02/01/2021 00:02:45
Anchor link
De var_dump geeft NULL aan.

Dit is de structuur qua indeling
-root
-index.php

--load
--load.php
--theclasses.php

index.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
require_once 'load/load.php';
?>


load.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
class LoadFile
{
    public static function MatchUrlToFile($request)
    {

        require_once 'theclasses.php';
        foreach($classes as $class => $path)
        {

            if ($request == $class){
                require_once $path;
            }
        }
    }
}

?>


theclasses.php
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$classes
  = array
(
    'class' => 'path',
    'class' => 'path',
//enz.
);
?>
 
- Ariën  -
Beheerder

- Ariën -

02/01/2021 00:14:55
Anchor link
Het script werkt hier prima. Uiteraard met een aanroep:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
require_once 'load/load.php';
LoadFile::MatchUrlToFile('aaaa');
?>


Het probleem lijkt mij meer in het pad naar theclasses.php te zitten.
Een beetje defensief programmeren kan geen kwaad door te kijken met file_exists() of het bestaat.
 
- Ariën  -
Beheerder

- Ariën -

22/11/2021 08:34:34
Anchor link
.
 
 

Dit topic is gesloten.



Overzicht

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.