Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Strict Standards Non-static method should not be called statically in

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Strict Standards Non-static method should not be called statically in

    Hi,

    ich hab vorgestern mal ein PHP Update auf 5.4 gemacht.

    Seit dem hagelte es Fehlermeldungen, die ich nun schon fast alle behoben habe.
    Nur 2 machen mir noch Probleme.

    Eins davon hier:

    Ich convertiere einen String (hier eine URL) um.

    PHP-Code:
    $navItem->url CFG::convert_URL($navItem->url,$navItem->label);         //formatiert die Navigation neu (z.B "Wir über uns" => "wir-ueber-uns"

        
    function convert_URL($string$html_entity_decode=false)
        {
          if(
    $html_entity_decode != false) {
            
    $string strtolower(strip_tags(html_entity_decode($html_entity_decodeENT_COMPAT'UTF-8')));  
          }
          
    $string str_replace(array('ä''ö''ü''ß'), array('ae''oe''ue''ss'), $string);
          
    $string str_replace(array('ä''ö''ü''ß'), array('ae''oe''ue''ss'), $string);
          
    $string preg_replace('~[^a-z\d]~''-'$string);
          
    $string str_replace(" ""-"$string);
          
    $string preg_replace('~-+~''-'$string);
            
          return 
    $string;        
        } 
    Problem ist hier erstmal das Verständnis.
    Wenn ich es richtig verstanden habe, dann übergebe ich gewisse Daten nicht korrekt an die function.
    Aber das kann es nicht sein, weil andere functionen genauso aufgerufen werden und aktuell keine Fehlermeldungen erzeugen.
    Somit scheint es mir, das mein Problem wohl an anderer Stelle liegt.

    Weiß einer Rat, wo das Problem liegt ?
    Übergabe an die funktion oder innerhalb der function ?


    Danke

  • daniel_1998
    antwortet
    OMG... so easy

    PHP-Code:
    static function convert_URL($string$html_entity_decode=false
    Oki. Danke.
    Ich hatte immer in die Übergabe-Werte rumgedockert... dass es der Aufruf selbst sein kann, hatte ich nicht berücksichtigt.

    THX

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Wenn ich es richtig verstanden habe, dann übergebe ich gewisse Daten nicht korrekt an die function.
    neimn, du rufst die function falsch auf:
    http://php.net/manual/de/language.oop5.static.php

    Einen Kommentar schreiben:


  • BlackScorp
    antwortet
    PHP-Code:
    $navItem->url CFG::convert_URL($navItem->url,$navItem->label); 
    :: das ist statischer aufruf
    PHP-Code:
    function convert_URL
    da fehlt ein static function. dein Problem ist dass du eine normale methode, statisch aufrufst.

    du kannst das Problem entweder beheben in dem du static davor schreibst(musst aber dann alle variablen innerhalb der klasse eventuell auch auf statisch umstellen) oder
    PHP-Code:
    $cfg = new CFG();
    $navItem->url $cfg->convert_URL.. 

    Einen Kommentar schreiben:

Lädt...
X