Introduced configurations and application object (test code)
This commit is contained in:
parent
cf30a1280d
commit
bf79e9cee7
5
config/application.php
Normal file
5
config/application.php
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
return [
|
||||||
|
'providers' => []
|
||||||
|
];
|
@ -2,15 +2,21 @@
|
|||||||
|
|
||||||
namespace Core\Application;
|
namespace Core\Application;
|
||||||
|
|
||||||
|
use Core\Configuration\Configurations;
|
||||||
use Illuminate\Container\Container;
|
use Illuminate\Container\Container;
|
||||||
|
|
||||||
class Application
|
class Application
|
||||||
{
|
{
|
||||||
private Container $container;
|
/** @var Container $container */
|
||||||
|
private $container;
|
||||||
|
|
||||||
public function __construct(Container $container)
|
/** @var Configurations */
|
||||||
|
private $configurations;
|
||||||
|
|
||||||
|
public function __construct(Container $container, Configurations $configurations)
|
||||||
{
|
{
|
||||||
$this->container = $container;
|
$this->container = $container;
|
||||||
|
$this->configurations = $configurations;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function run()
|
public function run()
|
||||||
|
54
core/Configuration/Configurations.php
Normal file
54
core/Configuration/Configurations.php
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Core\Configuration;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class Configurations
|
||||||
|
* @package Core\Configuration
|
||||||
|
* @author Romano Schoonheim https://github.com/romano1996
|
||||||
|
*/
|
||||||
|
class Configurations
|
||||||
|
{
|
||||||
|
private $configurations = [];
|
||||||
|
|
||||||
|
public function __construct(FileSystem $fileSystem)
|
||||||
|
{
|
||||||
|
foreach ($fileSystem->getConfigurationFiles() as $configurationFile) {
|
||||||
|
print_r($configurationFile);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// private const IGNORED_FILES = [
|
||||||
|
// '.',
|
||||||
|
// '..',
|
||||||
|
// 'config.php',
|
||||||
|
// 'config_sample.php'
|
||||||
|
// ];
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// private $configurations = [];
|
||||||
|
//
|
||||||
|
// public function __construct()
|
||||||
|
// {
|
||||||
|
// foreach (scandir(self::CONFIGURATION_DIRECTORY) as $item) {
|
||||||
|
// if (in_array($item, self::IGNORED_FILES)) {
|
||||||
|
// continue;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// $filePath = self::CONFIGURATION_DIRECTORY . $item;
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// die();
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// public function config(string $path): array
|
||||||
|
// {
|
||||||
|
// return $this->configurations;
|
||||||
|
// }
|
||||||
|
}
|
8
core/Configuration/Factories/FileFactory.php
Normal file
8
core/Configuration/Factories/FileFactory.php
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Core\Configuration\Factories;
|
||||||
|
|
||||||
|
class FileFactory
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
33
core/Configuration/FileSystem.php
Normal file
33
core/Configuration/FileSystem.php
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Core\Configuration;
|
||||||
|
|
||||||
|
use Core\Configuration\Factories\FileFactory;
|
||||||
|
use Core\Configuration\Objects\File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Class FileSystem
|
||||||
|
* @package Core\Configuration
|
||||||
|
* @author Romano Schoonheim https://github.com/romano1996
|
||||||
|
*/
|
||||||
|
class FileSystem
|
||||||
|
{
|
||||||
|
private const CONFIGURATION_DIRECTORY = __DIR__ . '/../../config/';
|
||||||
|
|
||||||
|
private $fileFactory;
|
||||||
|
|
||||||
|
public function __construct(FileFactory $factory)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @return File[]
|
||||||
|
*/
|
||||||
|
public function getConfigurationFiles(): array
|
||||||
|
{
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
10
core/Configuration/Objects/File.php
Normal file
10
core/Configuration/Objects/File.php
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Core\Configuration\Objects;
|
||||||
|
|
||||||
|
class File
|
||||||
|
{
|
||||||
|
protected string $name;
|
||||||
|
|
||||||
|
protected string $mimeType;
|
||||||
|
}
|
@ -5,22 +5,29 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
use Core\Application\Application;
|
use Core\Application\Application;
|
||||||
|
use Core\Configuration\Configurations;
|
||||||
use Illuminate\Container\Container;
|
use Illuminate\Container\Container;
|
||||||
|
|
||||||
require_once __DIR__ . '/../vendor/autoload.php';
|
require_once __DIR__ . '/../vendor/autoload.php';
|
||||||
|
|
||||||
$container = new Container();
|
$container = new Container();
|
||||||
|
|
||||||
/**
|
$container->singleton(
|
||||||
* Load providers
|
Configurations::class,
|
||||||
*/
|
Configurations::class
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Create application & run
|
* Create application & run
|
||||||
*/
|
*/
|
||||||
$application = new Application(
|
$application = new Application(
|
||||||
$container
|
$container,
|
||||||
|
$container->make(Configurations::class)
|
||||||
);
|
);
|
||||||
$application->run();
|
$application->run();
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Bootstrap v1.0
|
||||||
|
*/
|
||||||
|
require_once __DIR__ . '/../app/Bootstrap.php';
|
||||||
|
Loading…
Reference in New Issue
Block a user