2 votes

php 5.3.2-1 code ne fonctionne pas sur php 5.3.8

Mon code fonctionnait bien avec php 5.3.2-1 sur ubuntu. Je l'ai récemment porté sur Windows avec XAMPP installé. Il utilise php 5.3.8 . Je reçois une erreur.

 Non-static method Following::getUpdates() should not be called statically, assuming $this from incompatible context

Quelle est la voie à suivre ? Dois-je corriger mon code pour remplacer la déclaration à chaque endroit du code OU
Il y a t-il un moyen de simuler l'ancien comportement (php 5.3.2 avec le fichier php.ini) car je ne sais pas combien d'erreurs supplémentaires vont m'être envoyées à la figure après l'avoir corrigé.

UPDATE (exemple de code)

public function actionIndex(){
        if(yii::app()->user->isGuest){
            $this->render('guestIndex');
        }
        else{
            $dataProvider = Following::getUpdates(yii::app()->user->id);    //genrerate data for the homepage of user i.e updates from followers
            $this->render('userIndex',array('dataProvider'=>$dataProvider));
        }

    }

L'erreur se produit à la ligne $dataProvider = Following::getUpdates(yii::app()->user->id); J'utilise le framework Yii.

7voto

Gordon Points 156415

Votre nouvelle installation comprendra probablement E_STRICT alors que votre installation précédente ne le faisait pas. Citation du manuel :

L'appel statique de méthodes non statiques génère un E_STRICT avertissement de niveau.

Cela signifie que vous pouvez vous débarrasser des avertissements en désactivant E_STRICT dans votre rapport d'erreur Mais IMO, vous devriez corriger le code incriminé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X