Ankündigung

Einklappen
Keine Ankündigung bisher.

php function und arrays

Einklappen

Neue Werbung 2019

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

  • #16
    Zitat von illmaren Beitrag anzeigen
    $langd oder jetzt $lang_code wird in der klasse selbst definiert und muss damit nicht übergeben werden..
    $lang ist entweder ein leeres Array oder ein Array mit einer Fehlermeldung. Ziemlich sinnlos, meiner Ansicht nach.

    Kommentar


    • #17
      Du rufst eine Funktion in einer anderen auf, gut das kann ich soweit nachvollziehen, allerdings kommt der inhalt von $lang_code nicht aus der elben funktion! Deshalb muss alles was von außerhalb kommt in den klammern der funktion deklariert werden. Allerdings kannst du sie nicht deklarieren da sie vor dem Funktionsaufruf nicht existiert! Deshalb rate ich die $lang_code in choose_language zu erstellen und via

      PHP-Code:
      $this->load_lang_file($lang_code); 
      an deine load_lang_file funktion weiterzugeben!

      Kommentar


      • #18
        Zitat von hellbringer Beitrag anzeigen

        $lang ist entweder ein leeres Array oder ein Array mit einer Fehlermeldung. Ziemlich sinnlos, meiner Ansicht nach.
        $lang = array();

        include file

        In dem file welches included werden soll:
        $lang['COMMENTS'] = "%s Kommentar(e)";
        $lang['READMORE'] = "Weiterlesen...";
        [...]

        return $lang

        also nicht leer...wird nur nicht gefüllt obwohl das file included ist.

        Zitat von Kimahri88 Beitrag anzeigen
        Du rufst eine Funktion in einer anderen auf, gut das kann ich soweit nachvollziehen, allerdings kommt der inhalt von $lang_code nicht aus der elben funktion! Deshalb muss alles was von außerhalb kommt in den klammern der funktion deklariert werden. Allerdings kannst du sie nicht deklarieren da sie vor dem Funktionsaufruf nicht existiert! Deshalb rate ich die $lang_code in choose_language zu erstellen und via

        PHP-Code:
        $this->load_lang_file($lang_code); 
        an deine load_lang_file funktion weiterzugeben!
        Das was du meinst funktioniert erstens und zweitens ist es nicht das problem

        PHP-Code:
        function choose_language(){
                if(!
        $this->load_cookie_language()){
                    return 
        $this->language// hier fehlt noch die funktion aber sollte en / de dann ausgeben
                
        }else{
                    return 
        $this->load_cookie_language();
                }
            }

            public function 
        load_lang_file(){
                
        $lang_code $this->choose_language();
                if (!
        file_exists($this->admin.'include/language/'.$lang_code.'.php'))
                {
                    
        $lang['error'] = "Sprachdatei nicht geladen";
              }
                else
                {
                    
        $lang = array();
                    
        $lang['test'] = "TEST";
                    include_once(
        $this->admin.'include/language/'.$lang_code.'.php');
                }
                return 
        $lang;
            } 
        choose_language geht hin schaut sich das cookie an und gibt wenn es da ist "de" oder "en" aus

        choose_language wird in load_lang_file gleich zu aller erst aufgerufen womit die function auch den nötigen $lang_code hat.
        Wenn dem nicht so wäre würde die Datei nicht aufgerufen werden und ich würde durch include_once ein Warning zurückgeliefert bekommen welches ich nicht bekomme,

        Kommentar


        • #19
          Zitat von illmaren Beitrag anzeigen

          $lang = array();

          include file

          In dem file welches included werden soll:
          $lang['COMMENTS'] = "%s Kommentar(e)";
          $lang['READMORE'] = "Weiterlesen...";
          [...]

          return $lang

          also nicht leer...wird nur nicht gefüllt obwohl das file included ist.
          Dann machst du es falsch.

          PHP-Code:
          $lang = include 'langfile.php'
          Im langfile.php:

          PHP-Code:
          <?php return [
              
          'COMMENTS' => '%s Kommentar(e)',
              
          'READMORE' => 'Weiterlesen...'
          ];
          Und wie gesagt, include_once ist Quatsch.

          Kommentar


          • #20
            Das funktioniert danke

            Kommentar

            Lädt...
            X