You've already forked Traefik-Redis-Api
done. going to bed now.
This commit is contained in:
57
src/Facades/Config.php
Normal file
57
src/Facades/Config.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Siteworxpro\App\Facades;
|
||||
|
||||
use Illuminate\Contracts\Container\BindingResolutionException;
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
use Siteworx\Config\Exception\EmptyDirectoryException;
|
||||
use Siteworx\Config\Exception\FileNotFoundException;
|
||||
use Siteworx\Config\Exception\UnsupportedFormatException;
|
||||
|
||||
/**
|
||||
* Class Config
|
||||
*
|
||||
* This class serves as a facade for the configuration settings of the application.
|
||||
* It extends the Facade class from the Illuminate\Support\Facades namespace.
|
||||
*
|
||||
* @method static bool | string | int get(string $key) Retrieve the configuration value for the given key.
|
||||
*
|
||||
* @package Siteworx\App\Facades
|
||||
*/
|
||||
class Config extends Facade
|
||||
{
|
||||
protected static $cached = false;
|
||||
|
||||
|
||||
/**
|
||||
* @throws UnsupportedFormatException
|
||||
* @throws FileNotFoundException
|
||||
* @throws EmptyDirectoryException
|
||||
*/
|
||||
public static function getFacadeRoot(): \Siteworx\Config\Config
|
||||
{
|
||||
if (self::$resolvedInstance !== null) {
|
||||
try {
|
||||
$config = self::resolveFacadeInstance(self::getFacadeAccessor());
|
||||
if ($config instanceof \Siteworx\Config\Config) {
|
||||
return $config;
|
||||
}
|
||||
} catch (BindingResolutionException) {
|
||||
}
|
||||
}
|
||||
|
||||
return \Siteworx\Config\Config::load(__DIR__ . '/../../config.php');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the registered name of the component.
|
||||
*
|
||||
* @return string The name of the component.
|
||||
*/
|
||||
protected static function getFacadeAccessor(): string
|
||||
{
|
||||
return \Siteworx\Config\Config::class;
|
||||
}
|
||||
}
|
||||
51
src/Facades/Logger.php
Normal file
51
src/Facades/Logger.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Siteworxpro\App\Facades;
|
||||
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
use RoadRunner\Logger\Logger as RRLogger;
|
||||
use Spiral\Goridge\RPC\RPC;
|
||||
|
||||
/**
|
||||
* Class Logger
|
||||
*
|
||||
* This class serves as a facade for the Monolog logger.
|
||||
* It extends the Facade class from the Illuminate\Support\Facades namespace.
|
||||
*
|
||||
* @method static debug(string $message, array $context = []) Log an informational message.
|
||||
* @method static info(string $message, array $context = []) Log an informational message.
|
||||
* @method static error(string $message, array $context = []) Log an error message.
|
||||
* @method static warning(string $message, array $context = []) Log a warning message.
|
||||
*
|
||||
* @package Siteworxpro\App\Facades
|
||||
*/
|
||||
class Logger extends Facade
|
||||
{
|
||||
public static function getFacadeRoot(): RRLogger
|
||||
{
|
||||
if (self::$resolvedInstance !== null) {
|
||||
$logger = self::resolveFacadeInstance(self::getFacadeAccessor());
|
||||
|
||||
if ($logger instanceof RRLogger) {
|
||||
return $logger;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$rpc = RPC::create('tcp://127.0.0.1:6001');
|
||||
|
||||
return new RRLogger($rpc);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the registered name of the component.
|
||||
*
|
||||
* @return string The name of the component.
|
||||
*/
|
||||
protected static function getFacadeAccessor(): string
|
||||
{
|
||||
return RRLogger::class;
|
||||
}
|
||||
}
|
||||
53
src/Facades/Redis.php
Normal file
53
src/Facades/Redis.php
Normal file
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Siteworxpro\App\Facades;
|
||||
|
||||
use Illuminate\Support\Facades\Facade;
|
||||
use Predis\Client;
|
||||
use Predis\Response\Status;
|
||||
|
||||
/**
|
||||
* Facade for the Redis client.
|
||||
*
|
||||
* This class provides a static interface to interact with the Redis client.
|
||||
*
|
||||
* @method static array scan($cursor, ?array $options = null)
|
||||
* @method static string|null get(string $key)
|
||||
* @method static Status|null set(string $key, $value, $expireResolution = null, $expireTTL = null, $flag = null)
|
||||
* @method static array keys(string $pattern)
|
||||
* @method static int del(string $key)
|
||||
*/
|
||||
class Redis extends Facade
|
||||
{
|
||||
|
||||
public static function getFacadeRoot(): Client
|
||||
{
|
||||
if (self::$resolvedInstance !== null) {
|
||||
$redis = self::resolveFacadeInstance(self::getFacadeAccessor());
|
||||
|
||||
if ($redis instanceof Client) {
|
||||
return $redis;
|
||||
}
|
||||
}
|
||||
|
||||
// Create a new Redis client instance if not already resolved
|
||||
return new Client([
|
||||
'scheme' => 'tcp',
|
||||
'host' => Config::get('redis.host'),
|
||||
'port' => Config::get('redis.port'),
|
||||
'database' => Config::get('redis.database'),
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the registered name of the component.
|
||||
*
|
||||
* @return string The name of the component.
|
||||
*/
|
||||
protected static function getFacadeAccessor(): string
|
||||
{
|
||||
return Client::class;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user