Config verschachtelt
bearbeitet von
moin Community,
nach längerem tüfteln ist ein mögliches Problem aufgetaucht. Ich muss nämlich bestimmte Objekte, Arrays in eine Config schmeißen. Als beispiel nehme ich die Database konfiguration:
Ich könnte die Konfiguration in Strings ablegen, die Kategorie vorangestellt:
~~~php
Config::set( 'DATABASE_DRIVER','mysql' );
Config::set( 'DATABASE_HOST', 'localhost' );
Config::set( 'DATABASE_DBNAME', 'mydb' );
Config::set( 'DATABASE_USER', 'root' );
Config::set( 'DATABASE_PASSWORD', '' );
~~~
ich kann das auch als array ablegen
~~~php
Config::set( 'database', [
'driver' => 'mysql',
'host' => 'localhost',
'dbname' => 'mydb',
'user' => 'root',
'password'=> '',
] );
~~~
oder in Strings
~~~php
Config::set( [ 'database' ][ 'driver' ], 'mysql' );
Config::set( [ 'database' ][ 'host' ], 'localhost' );
Config::set( [ 'database' ][ 'dbname' ], 'mydb' );
Config::set( [ 'database' ][ 'user' ], 'root' );
Config::set( [ 'database' ][ 'password' ], '' );
~~~
oder eben in ein Objekt
~~~php
Config::set( 'DATABASE', new \Type\Database(
'mysql', 'localhost', 'mydb', 'root', ''
) );
~~~
Wärend ich weiter programmieren würde, würden noch mehr Verschachtelungen auftauchen z.B. `Message` mit z.B. `category -> subject -> message`
dann würde ich das wie im _Thread_ [Konfiguration auslagern](https://forum.selfhtml.org/self/2017/sep/21/konfiguration-auslagern/1704470#m1704470) machen. Da hat man erstmal den ersten Eintrag `category` in meinem Beispiel wech, aber da sind Untereinträge die einem ein _Array_ mit _Subarrays_ aufzwingen.
ein einfaches `define( 'KATEGORY_SUBKATEGORY_SUBJECT_MESSAGE', $something )` um dieses zu lösen finde ich nicht förderlich. Da passt mir schon die statischen Klassen Programmlogik intern besser. Aber da habe ich dieses besagte Problem 😕.
vlg MB
Config verschachtelt
bearbeitet von
moin Community,
nach längerem tüfteln ist ein mögliches Problem aufgetaucht. Ich muss nämlich bestimmte Objekte, Arrays in eine Config schmeißen. Als beispiel nehme ich die Database konfiguration:
Ich könnte die Konfiguration in Strings ablegen, die Kategorie vorangestellt:
~~~php
Config::set( 'DATABASE_DRIVER','mysql' );
Config::set( 'DATABASE_HOST', 'localhost' );
Config::set( 'DATABASE_DBNAME', 'mydb' );
Config::set( 'DATABASE_USER', 'root' );
Config::set( 'DATABASE_PASSWORD', '' );
~~~
ich kann das auch als array ablegen
~~~php
Config::set( 'database', [
'driver' => 'mysql',
'host' => 'localhost',
'dbname' => 'mydb',
'user' => 'root',
'password'=> '',
] );
~~~
oder
~~~php
Config::set( [ 'database' ][ 'driver' ], 'mysql' );
Config::set( [ 'database' ][ 'host' ], 'localhost' );
Config::set( [ 'database' ][ 'dbname' ], 'mydb' );
Config::set( [ 'database' ][ 'user' ], 'root' );
Config::set( [ 'database' ][ 'password' ], '' );
~~~
oder eben in ein Objekt
~~~php
Config::set( 'DATABASE', new \Type\Database(
'mysql', 'localhost', 'mydb', 'root', ''
) );
~~~
Wärend ich weiter programmieren würde, würden noch mehr Verschachtelungen auftauchen z.B. `Message` mit z.B. `category -> subject -> message`
dann würde ich das wie im _Thread_ [Konfiguration auslagern](https://forum.selfhtml.org/self/2017/sep/21/konfiguration-auslagern/1704470#m1704470) machen. Da hat man erstmal den ersten Eintrag `category` in meinem Beispiel wech, aber da sind Untereinträge die einem ein _Array_ mit _Subarrays_ aufzwingen.
ein einfaches `define( 'KATEGORY_SUBKATEGORY_SUBJECT_MESSAGE', $something )` um dieses zu lösen finde ich nicht förderlich. Da passt mir schon die statischen Klassen Programmlogik intern besser. Aber da habe ich dieses besagte Problem 😕.
vlg MB