Зачем создавать переменные для подключения к БД?
Второй вариант плохой, почитайте про оператор @. Чтобы понять первый вариант, нужно знать про окружения для разных серверов (для разработки, тестирования и продакшена), почитайте про окружения и деплой
это прост один из способов.
можете хардкодить.
можете выносить в переменные.
можете выносить в константы.
можете выносить в конфиг.
можете выносить в переменные окружения.

вопрос только в вашем представлении о прекрасном и потребностях.