Под конфиги есть один очень удобный подход: конфиги в константах класса.
Смысл в следующем, создаете базовый конфиг, например DefaultConfig.php настройки забиваете под окружение для разработки
namespace MyVendor\MyProject\Config;
class DefaultConfig
{
const MYSQL_DSN = 'mysql:host=localhost;dbname=dbName';
const MYSQL_USER = 'some_user';
const MYSQL_PASS = 'some_password';
}
Так же создаете конфиг, который будет подключаться в вашем проекте Config.php (игнорируется git/svn/или что у вас там)
namespace MyVendor\MyProject\Config;
class Config extends DefaultConfig
{
}
Смысл в следующем, вы можете обращаться за счет автолоада на прямую к любой настройке, при этом переопределить их для продакшна например очень просто - вы переопределяете константу в Config.php.
За счет этого подключение к БД у вас может выглядеть так:
$pdo = new PDO(
Config::MYSQL_DSN,
Config::MYSQL_USER,
Config::MYSQL_PASS
);