ошибка Strict Standards: Non-static method

Тема в разделе "PHP", создана пользователем OffSpEEd, 28 окт 2011.

Модераторы: latteo
  1. OffSpEEd

    OffSpEEd

    Регистр.:
    17 авг 2007
    Сообщения:
    159
    Симпатии:
    19
    После перехода с php5.2 на php5.2 строка:
    PHP:
    Fluxd::initialize();
    стала выдавать ошибку: Strict Standards: Non-static method Fluxd::initialize() should not be called statically in ...

    А как ее правильно написать под php 5.3?
     
  2. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    364
    Симпатии:
    117
    сейчас наверно что-то типа такого

    PHP:
    class Fluxd
    {
     public function 
    initialize() {}
    }

    а нужно так
    PHP:
    class Fluxd
    {
     public static function 
    initialize() {}
    }

     
  3. OffSpEEd

    OffSpEEd

    Регистр.:
    17 авг 2007
    Сообщения:
    159
    Симпатии:
    19
    такая конструкция вызывает ошибку в другом файле:
    Fatal error: Cannot redeclare class fluxd in /home/data/www/classes/Fluxd.php on line 35
     
  4. java3000

    java3000 Постоялец

    Регистр.:
    3 апр 2008
    Сообщения:
    54
    Симпатии:
    15
    А если просто создать экземпляр класса?

    PHP:
    $a= new Fluxd();
    $a->initialize();
     
  5. Soul :)

    Soul :) Постоялец

    Регистр.:
    22 мар 2007
    Сообщения:
    86
    Симпатии:
    9
    Дык ПХП Вам честно признается, что у это объвление 2-го класса с таким именем на 35-ой строке. И что он будет дальше теряться в догадках, как из двух классов с таким именем использовать.

    Код самого класса выложите на форум.
     
  6. thoth777

    thoth777

    Регистр.:
    28 ноя 2008
    Сообщения:
    314
    Симпатии:
    98
    это двойной инклюд.
    кстати, хороший тон - использовать вместо include include_once там, где файлы инклюдятся по мере необходимости и сложным способом (не централизованно из одного скрипта).