Bonjour,

J'ai suivi il y a quelque temps le tutoriel sur slim avec un router personnalisé, j'avais fait mon site qui fonctionnait parfaitement sur mon hebergeur Firstheberg. Puis j'ai voulu changer d'hebergeur, j'ai donc upload mon site dessus avec la base de donnée et depuis ce jour il me sort une Fatal Error : $this is non-object sur mon router, mon controller etc...

je vous laisse le code de mon router

<?php
class Router{

    private $app;

    public function __construct($app){
        $this->app = $app;
    }

    public function call($url, $params, $method){

        return $this->app->$method($url, function () use($params){
            $params     = explode(':', $params);
            $controller = $params[0];
            $action     = $params[1];
            require(ROOT.'controllers/'.$controller.'.php');
            $controller = new $controller($this->app);
            call_user_func_array([$controller, $action], func_get_args());
        });

    }

    public function get($url, $params){
        return $this->call($url, $params, 'get');
    }

    public function post($url, $params){
        return $this->call($url, $params, 'post');
    }

    public function delete($url, $params){
        return $this->call($url, $params, 'delete');
    }

    public function put($url, $params){
        return $this->call($url, $params, 'put');
    }

}
?>

Merci

5 réponses


lucien-lefoll
Réponse acceptée

Hello,

Tu dois utiliser une syntaxe qui n'existait pas en PHP 5.3 (par exemple pour les tableaux).

Il doit être possible de modifier la version de PHP utilisée sur ton hébergeur. Essaie de te renseigner auprès du service client, ou sur des forums. Par exemple chez OVH, il faut modifier un fichier .htaccess à la racine de ton site pour utiliser une version plus récente de PHP sur celui-ci !

Bon courage !

Salut,

Tu as vérifié la version de PHP ? Utilise echo phpversion();.

guifloco
Auteur

Alors sur l'ancien : php 5.4.45
sur le nouveau : php 5.3.3-7+squeeze3

Oula c'est vraiment très vieux php 5.3. Tu doit povoir changer de version de php dans ton panel de gestion.

guifloco
Auteur

je vais voir sa merci