Ankündigung

Einklappen
Keine Ankündigung bisher.

array, Config-Datei

Einklappen

Neue Werbung 2019

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

  • array, Config-Datei

    Hallo,

    um etwaige Anpassungen von einer php-Web-Anwendung einfach gestelten zu können, wurden alle Configurations-Einstellungen in einer php-Datei zusammengefasst:

    z.B.:

    configuration.php:
    PHP-Code:
    <?php
    return [
    'Name' => 'Anwendung ABC',
    'DB' => [
         
    'host' => 'localhost',
         
    'port' => '3306',
         },
    ];
    Die Form wurde von Typo3 abgeschaut. In Typo3 ist die Configurations-php.-Datei nach dem gleichen Schema aufgebaut.

    Das Prinzip ist einfach und genial: Alle Einstellungen befinden sich in einer mehrfach verschachtelten Array. Und dennoch kann man direkt auf die Configurations-Datei zugreifen, ohne dass hier weiterer php-Code enthalten sein muss.

    Wenn in einer anderen php-Datei die Configuration.php via include importiert wird, weiß ich nicht, in welcher Variable das Array gespeichert wurde.

    Kann mir da jemand einen Tip geben, wie man das Array der ConfigurationsDatei in einer anderen php-Datei eingelesen werden kann?

    Oder muss die Configurations-php-Datei doch zeilenweise eingelesen und entsprechend interpretiert werden, was ich mir nicht so recht vorstellen kann.

    LG, Ben

  • #2
    Das ist Teil einer Funktion.

    Wenn du das per include nutzen willst, dann mach daraus ein Array und schon hast du das Gewünschte.

    Kommentar


    • #3
      Zitat von BigBen Beitrag anzeigen
      Kann mir da jemand einen Tip geben, wie man das Array der ConfigurationsDatei in einer anderen php-Datei eingelesen werden kann?
      Am besten gar nicht. Das sollte an einer zentralen Stelle in der Anwendung einmalig erfolgen.

      Falls es aus irgendwelchen esoterischen Gründen nicht möglich sein sollte:
      PHP-Code:
      $config = require '/path/to/my/config.php'

      Kommentar


      • #4
        Tausend Dank für die wertvollen Informationen

        Kommentar


        • #5
          Eine mögliche Alternative:
          PHP-Code:

          class Config{
            public 
          $Name 'Anwendung ABC';
            public 
          $DB = array(
               
          'host' => 'localhost',
               
          'port' => '3306',
            );

            public function 
          __construct(){
              foreach(
          $this as $key => $value){
                if(
          is_array($value)) {
                  
          $this->$key json_decode(json_encode($value));
                }
              }
            }

          Das Objekt kann nach Belieben mehrfach erstellt werden oder auch einmalig und dann durchgereicht werden.
          Mit Autoloading ist auch kein include/require notwendig.

          PHP-Code:
          $myConfig = new config;
          // :
          $name $myConfig->Name;  //Anwendung ABC
          $host $myConfig->DB->host;  //localhost 
          Der Konstruktor kann entfallen, wenn der Zugriff über Arrays erfolgen soll.

          Kommentar


          • #6
            Hallo,

            das ist ja eine geniale Lösung. Vielen Dank!

            Kommentar

            Lädt...
            X