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


  • #2
    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.. 
    apt-get install npm -> npm install -g bower -> bower install <package> YOLO https://www.paypal.me/BlackScorp | Mein Youtube PHP Kanal: https://www.youtube.com/c/VitalijMik

    Kommentar


    • #3
      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

      Kommentar


      • #4
        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

        Kommentar

        Lädt...
        X