Я развернул свое приложение на heroku, но я хочу получить свой файл .json (где я храню информацию о своей базе данных) на веб-сервере heroku, не отправляя мой файл на github (файл игнорируется).Я получил рекомендацию использовать файл .env.Можно ли передать информацию из файла .env в файл .json или мне нужно каким-то образом изменить код?
Я попытался войти в heroku, чтобы добавить файл на сервер, но этоне работает, потому что, когда приложение перезапускает приложение, оно сбрасывается.
app.json
{
"db": {
"dsn": "mysql:host=adress;dbname=database;charset=utf8",
"user": "user",
"password": "pass"
}
}
Connection.php
<?php
namespace TwitterClone\Core;
use \PDO;
use TwitterClone\Core\Config;
use TwitterClone\Utils\Singleton;
class Connection extends Singleton
{
public $handler;
protected function __construct()
{
try {
$config = Config::getInstance()->get('db');
$this->handler = new PDO(
$config['dsn'],
$config['user'],
$config['password']
);
$this->handler->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch (PDOException $e) {
echo $e->getMessage();
}
}
}
Config.php
<?php
namespace TwitterClone\Core;
use TwitterClone\Utils\Singleton;
use TwitterClone\Exceptions\NotFoundException;
/**
* Singleton
*/
class Config extends Singleton
{
private $data;
protected function __construct()
{
$json = file_get_contents(__DIR__ . '/../../config/app.json');
$this->data = json_decode($json, true);
}
public function get($key)
{
if (!isset($this->data[$key])) {
throw new NotFoundException("Key $key not in config.");
}
return $this->data[$key];
}
}
Я хочу отправить файл на сервер heroku, но не на github.или способ получения информации в файле app.json без показа конфиденциальной информации.