PDO plugin: Reflections
* com.noccy.pdo: Implemented reflection for PDO databases, tables and columns. Reflectors for MySQL and Sqlite. * com.noccy.pdo: Added pdo:inspect command. * com.noccy.docker: Added basic stack management and commands. * com.noccy.docker: Moved commands to dedicated namespace. * Environment: readConfig and writeConfig helper added, with a flag to use the global config dir ~/.config/spark.
This commit is contained in:
@@ -47,6 +47,35 @@ class Environment
|
||||
return $runner;
|
||||
}
|
||||
|
||||
public function readConfig(string $filename, bool $global=false): ?array
|
||||
{
|
||||
$path = ($global ? getenv("HOME")."/.config/spark" : $this->getConfigDirectory());
|
||||
|
||||
$filepath = $path . "/" . $filename;
|
||||
$dirname = dirname($filepath);
|
||||
if (!is_dir($dirname) || !file_exists($filepath)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
$json = file_get_contents($filepath);
|
||||
|
||||
return json_decode($json, true);
|
||||
}
|
||||
|
||||
public function writeConfig(string $filename, $config, bool $global=false)
|
||||
{
|
||||
$path = ($global ? getenv("HOME")."/.config/spark" : $this->getConfigDirectory());
|
||||
$filepath = $path . "/" . $filename;
|
||||
|
||||
$dirname = dirname($filepath);
|
||||
if (!is_dir($dirname) && $global) {
|
||||
mkdir($dirname, 0777, true);
|
||||
}
|
||||
|
||||
$json = json_encode($config, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
|
||||
file_put_contents($filepath, $json);
|
||||
}
|
||||
|
||||
public function loadEnvironment()
|
||||
{
|
||||
if ($this->loaded) {
|
||||
|
Reference in New Issue
Block a user