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:
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
Config::set( 'database', [
'driver' => 'mysql',
'host' => 'localhost',
'dbname' => 'mydb',
'user' => 'root',
'password'=> '',
] );
oder in Strings
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
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 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 😕.
Ist das jedem Projekt selbst überlassen oder steckte eine Konvention hinter?
vlg MB