Browse Source

Introduced configurations and application object (test code)

pull/2/head
Romano Schoonheim 1 year ago
parent
commit
bf79e9cee7
7 changed files with 131 additions and 8 deletions
  1. +5
    -0
      config/application.php
  2. +8
    -2
      core/Application/Application.php
  3. +54
    -0
      core/Configuration/Configurations.php
  4. +8
    -0
      core/Configuration/Factories/FileFactory.php
  5. +33
    -0
      core/Configuration/FileSystem.php
  6. +10
    -0
      core/Configuration/Objects/File.php
  7. +13
    -6
      public/index.php

+ 5
- 0
config/application.php View File

@ -0,0 +1,5 @@
<?php
return [
'providers' => []
];

+ 8
- 2
core/Application/Application.php View File

@ -2,15 +2,21 @@
namespace Core\Application;
use Core\Configuration\Configurations;
use Illuminate\Container\Container;
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->configurations = $configurations;
}
public function run()

+ 54
- 0
core/Configuration/Configurations.php View 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
- 0
core/Configuration/Factories/FileFactory.php View File

@ -0,0 +1,8 @@
<?php
namespace Core\Configuration\Factories;
class FileFactory
{
}

+ 33
- 0
core/Configuration/FileSystem.php View 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
- 0
core/Configuration/Objects/File.php View File

@ -0,0 +1,10 @@
<?php
namespace Core\Configuration\Objects;
class File
{
protected string $name;
protected string $mimeType;
}

+ 13
- 6
public/index.php View File

@ -5,22 +5,29 @@
*/
use Core\Application\Application;
use Core\Configuration\Configurations;
use Illuminate\Container\Container;
require_once __DIR__ . '/../vendor/autoload.php';
$container = new Container();
/**
* Load providers
*/
$container->singleton(
Configurations::class,
Configurations::class
);
/**
* Create application & run
*/
$application = new Application(
$container
$container,
$container->make(Configurations::class)
);
$application->run();
/**
* Bootstrap v1.0
*/
require_once __DIR__ . '/../app/Bootstrap.php';

Loading…
Cancel
Save