The first step to using the database object is the configuration of it. Essentially at the configuration process is just the hydrating of the DatabaseConfiguration object. There are four relatively easy ways to do this.
Next post I’ll explain what each of these mean, and what values they should contain.
They are as follows:
1 – Using an INI file
If you store your configuration settings in a .ini file, you are able to use that to configure the object. The ini file should look as follows:
; Configuration INI File for Database Configuration [Database] Hostname='localhost' Username='testing' Password='testing' Engine='mysql' Database='testing' ErrorReporting=2 ErrorLog='logfile.log' LogQueries='true' QueryMode=0
With this as your ini file you can then call the static method DatabaseConfiguration::fromINIFile passing it the full file path to this ini file and if there is a section (i.e. the ‘Database’ in the ini file seen above) then provide it that name, and then it will automatically configure the rest for you.
2 – Using an INI string
You may already have the body of an ini file in memory, so this way works just like the previous method but instead of reading the contents of the ini file from a flat file, it will just load it from a string.
3 – Using an array
If you have an array which contains the following key values (keys the same as seen in the above example) then you can set up the object using that.
$array = array ( 'Hostname' => 'localhost' , 'Username' => 'testing' , 'Password' => 'testing' , 'Engine' => 'mysql' , 'Database' => 'testing' , 'ErrorReporting' => 2 , 'ErrorLog' => 'logfile.log' , 'LogQueries' => 'true' , 'QueryMode' => 0 );
4 – Manually Hydrating the object
If none of the previous options work for you, then you are always able to manually create an instance of the DatabaseConfiguration object and populate each of the values by hand.
$config=new DatabaseConfiguration(); $config->hostname = 'localhost'; $config->engine = 'mysql'; $config->database = 'testing'; $config->username = 'testing'; $config->password = 'testing'; $config->errorReporting = DatabaseConfiguration::ERRORS_EXCEPTION; $config->errorLogFile = 'logfile.log'; $config->maintainQueryLog = true; $config->queryMode = DatabaseConfiguration::QUERY_DEFAULT;