Bonsoir à tous !

J'essaye de gérer l'upload dans mon script MVC, mais je sais pas où mettre ma class récupéré sur le net, ni comment l'utilisé.

Pour l'instant, j'ai essayé de mettre ma class dans le fichier mvc/core/Upload.php, en ajoutant l'include dans mvc/core/includes.php puis de l'utiliser de cette façon dans mon Controller :

$handle = $this->upload->upload($_FILES'file']);

mais cela me génère l'erreur suivante :

Notice: Undefined property: ShopsController::$upload in /home/richardp/www/mvc/controller/ShopsController.php on line 89
Fatal error: Call to a member function upload() on a non-object in /home/richardp/www/mvc/controller/ShopsController.php on line 89

Pourtant ma class se nomme bien upload et contient bien une méthode upload()...

En revanche si je fait

new upload($_FILES'file'];

le script fonctionne correctement mais j'ai peur que ça soit pas la bonne façon de faire...

Quelqu'un aurait le temps de m'éclairer sur ce problème ?

Merci d'avance !

1 réponse


Salut,

Notice: Undefined property: ShopsController::$upload in /home/richardp/www/mvc/controller/ShopsController.php on line 89

Veut dire que ta propriété "upload" n'est pas définie dans le controleur ShopController. Elle est peut-être dans la classe mère mais alors en private. Pour qu'elle soit accessible dans ton ShopController elle doit être public ou bien protected. Une fois cela fait, il faut l'initialiser avec un new. Dans le cas contraire tu auras un nullpointerexception ce qui produit en php un

Fatal error: Call to a member function upload() on a non-object