PHP 5.3.2-1 код не работает на PHP 5.3.8 - PullRequest
2 голосов
/ 13 марта 2012

Мой код работал нормально в php 5.3.2-1 на Ubuntu. Я недавно портировал его на Windows с установленным XAMPP. Использует php 5.3.8. Я получаю ошибку.

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

Какой путь? Должен ли я исправить свой код, чтобы заменить объявление в каждом месте в коде ИЛИ
Есть ли способ смоделировать старое поведение (php 5.3.2 с файлом php.ini), потому что я не уверен, насколько больше ошибок будет брошено в мое лицо после его исправления.

ОБНОВЛЕНИЕ (пример кода)

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));
        }


    }

Получение ошибки в строке $dataProvider = Following::getUpdates(yii::app()->user->id); Я использую фреймворк yii.

1 Ответ

7 голосов
/ 13 марта 2012

Ваша новая установка, скорее всего, содержит только E_STRICT предупреждений, в то время как предыдущая установка этого не сделала. Цитирование руководства :

При статическом вызове нестатических методов генерируется предупреждение об уровне E_STRICT.

Это означает, что вы можете избавиться от предупреждений, отключив E_STRICT в своем сообщении об ошибке , но, IMO, вам следует исправить код, вызывающий сбой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...