To make the content available in every corner of you application I use a user defined constant. $SETTINGS. It is initialized like this
<?php
define( 'SETTINGS", parse_ini_file('settings.ini', true) );
?>
With the proper settings.ini file you can now do stuff like
<?php
$db = new \PDO(
"mysql:host={SETTINGS['db']['host']};dbname={SETTINGS['db']['name']};charset=utf8",
SETTINGS['db']['user'],
SETTINGS['db']['pass'], [\PDO::ATTR_ERRMODE => \PDO::ERRMODE_EXCEPTION
]
);
?>
Make sure to hide your settings.ini file on a website with for instance
<?php
<FilesMatch "\.(?:ini|htaccess)$">
Order allow,deny
Deny from all
</FilesMatch>
?>