Problème avec un Array et une Classe

Lyc@n Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   -  
Lyc@n Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour tout le monde, voilà, j'ai un petit problème, je suis en train de faire une classe Autoloader, et lors de l'instanciation de la classe, on doit donner un array contenant les chemins vers lequels l'autoloader doit aller chercher les classes à charger. Voilà les codes:

La classe Autoloader:
<?php
class Autoloader
{

	//Declarations
	private $_paths = array();
	
	
	public function __construct($paths)
	{
		$this->_paths = $paths;
	}
	
	
	public function Load($class)
	{
	
		foreach($this->_paths as $path);
		{		

			echo $path . '</br>';
		
			if (is_file($path . $class . '.class.php'))
			{
				include($path . $class . '.class.php');
			}
		}
	}
	
	public function Initialize()
	{
		spl_autoload_register(array($this, 'Load'));
	}
}

?>


L'instantiation de Autoloader:
include('libs/Autoloader.class.php');
$autoloader = new Autoloader(array('libs/', 'model/classes/'));
$autoloader->Initialize();


Vous devez avoir vus que j'ai mis un echo dans la classe Autoloader pour faire des tests, et seule la DERNIERE valeur que j'ai donné dans mon array en paramètre lors de l'instantiation reste, donc l'autoloader ne marche pas. Voilà engros ce qu'il ce passe:

Si j'instancie mon Autoloader avec 3 chemins:
include('libs/Autoloader.class.php');
$autoloader = new Autoloader(array('libs',  'model/classes/', 'classes/'));
$autoloader->Initialize();


Mon echo ne m'affichera que:
classes

Ce qui veut dire que le foreach ne se fait qu'une fois.

Quelqu'un pourrait il m'aider s'il vous plait? Je suis vraiment bloqué! Merci!

2 réponses

Pitet Messages postés 2845 Statut Membre 527
 
Salut,

Supprime le point virgule après la condition du foreach l. 18 :
foreach($this->_paths as $path)
{
    echo $path . '</br>';
}


Bonne journée
0
Lyc@n Messages postés 221 Date d'inscription   Statut Membre Dernière intervention   14
 
Désolé d'avoir mis autant de temps à répondre, j'ai fini par trouver l'erreur seul et oui c'était bien ça Pitet! Merci quand même! :)
0