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.


<?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

<?php
$classes  = array
(
    'class' => 'path',
    'class' => 'path',
//enz.
);
?>



Wie o wie kan mij helpen?
Wat geeft var_dump($classes) aan?
Bestaat dat bestand wel?
De var_dump geeft NULL aan.

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

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

index.php

<?php
require_once 'load/load.php';
?>


load.php

<?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

<?php
$classes  = array
(
    'class' => 'path',
    'class' => 'path',
//enz.
);
?>




Het script werkt hier prima. Uiteraard met een aanroep:

<?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.

Reageren