php-spark/runtime/SparkPlug.php

51 lines
1.3 KiB
PHP
Raw Permalink Normal View History

2021-12-07 16:26:34 +00:00
<?php
use Spark\SparkApplication;
use Spark\Environment\Environment;
2021-12-07 16:26:34 +00:00
abstract class SparkPlug
{
abstract public function load();
public function getPlugin(string $name)
{
return SparkApplication::$instance->getPluginManager()->getPlugin($name);
}
public function getResource(string $name)
2021-12-08 03:05:55 +00:00
{
return SparkApplication::$instance->getResourceManager()->getNamedResource($name);
}
public function getEnvironment(): Environment
{
return SparkApplication::$instance->getEnvironment();
}
public function getApplication(): SparkApplication
{
return SparkApplication::$instance;
}
public function readConfig($file=null)
2021-12-08 03:05:55 +00:00
{
if (!$file) return;
$abs = get_environment()->getConfigDirectory() . "/" . $file;
if (!file_exists($abs)) {
//fprintf(STDERR, "warning: Can't read config file %s\n", $abs);
return [];
}
return (array)json_decode(file_get_contents($abs), true);
}
function getProjectDirectory()
{
return SparkApplication::$instance->getEnvironment()->getProjectDirectory();
}
2021-12-08 03:05:55 +00:00
public function getConfigDirectory()
{
return SparkApplication::$instance->getEnvironment()->getConfigDirectory();
}
2021-12-07 16:26:34 +00:00
}