Config, setup and bootstrap
This commit is contained in:
26
app/setups/concepts.php
Normal file
26
app/setups/concepts.php
Normal file
@ -0,0 +1,26 @@
|
||||
<?php
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
return [
|
||||
ProVM\Concept\Database::class => function(ContainerInterface $container) {
|
||||
return (new ProVM\Database\MySQL())
|
||||
->setHost($container->get('DB_HOST'))
|
||||
->setName($container->get('DB_DATABASE'))
|
||||
->setUser($container->get('DB_USER'))
|
||||
->setPassword($container->get('DB_PASSWORD'));
|
||||
},
|
||||
ProVM\Concept\Database\Connection::class => function(ContainerInterface $container) {
|
||||
return new ProVM\Database\Connection($container->get(ProVM\Concept\Database::class));
|
||||
},
|
||||
ProVM\Concept\Database\Query\Builder::class => function(ContainerInterface $container) {
|
||||
return new ProVM\Database\Query\Builder([
|
||||
ProVM\Concept\Database\Query\Select::class => ProVM\Database\Query\MySQL\Select::class,
|
||||
ProVM\Concept\Database\Query\Insert::class => ProVM\Database\Query\MySQL\Insert::class,
|
||||
ProVM\Concept\Database\Query\Update::class => ProVM\Database\Query\MySQL\Update::class,
|
||||
ProVM\Concept\Database\Query\Delete::class => ProVM\Database\Query\MySQL\Delete::class,
|
||||
ProVM\Concept\Database\Query\Create::class => ProVM\Database\Query\MySQL\Create::class,
|
||||
ProVM\Concept\Database\Query\Drop::class => ProVM\Database\Query\MySQL\Drop::class,
|
||||
ProVM\Concept\Database\Query\Truncate::class => ProVM\Database\Query\MySQL\Truncate::class,
|
||||
]);
|
||||
}
|
||||
];
|
18
app/setups/generators.php
Normal file
18
app/setups/generators.php
Normal file
@ -0,0 +1,18 @@
|
||||
<?php
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
return [
|
||||
ProVM\Generator\Migration::class => function(ContainerInterface $container) {
|
||||
return new ProVM\Generator\Migration(
|
||||
$container->get(ProVM\Concept\Database\Connection::class),
|
||||
$container->get(ProVM\Concept\Database::class),
|
||||
$container->get(ProVM\Concept\Database\Query\Builder::class),
|
||||
$container->get(ProVM\Repository\Table::class),
|
||||
$container->get(Psr\Log\LoggerInterface::class),
|
||||
new DateTimeImmutable($container->get('start_date')),
|
||||
$container->get('DB_DATABASE'),
|
||||
$container->get('paths.migrations'),
|
||||
$container->get('skips')
|
||||
);
|
||||
}
|
||||
];
|
16
app/setups/logs.php
Normal file
16
app/setups/logs.php
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
return [
|
||||
Psr\Log\LoggerInterface::class => function(ContainerInterface $container) {
|
||||
return new Monolog\Logger('migrations', [
|
||||
(new Monolog\Handler\RotatingFileHandler('/logs/migrations.log'))
|
||||
->setFormatter(new Monolog\Formatter\LineFormatter(null, null, false, false, true))
|
||||
], [
|
||||
$container->get(Monolog\Processor\IntrospectionProcessor::class),
|
||||
$container->get(Monolog\Processor\MemoryUsageProcessor::class),
|
||||
$container->get(Monolog\Processor\MemoryPeakUsageProcessor::class),
|
||||
$container->get(Monolog\Processor\PsrLogMessageProcessor::class)
|
||||
]);
|
||||
}
|
||||
];
|
15
app/setups/repositories.php
Normal file
15
app/setups/repositories.php
Normal file
@ -0,0 +1,15 @@
|
||||
<?php
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
return [
|
||||
ProVM\Repository\Table::class => function(ContainerInterface $container) {
|
||||
return new ProVM\Repository\Table(
|
||||
$container->get(ProVM\Concept\Database\Connection::class),
|
||||
$container->get('DB_DATABASE'));
|
||||
},
|
||||
ProVM\Repository\Data::class => function(ContainerInterface $container) {
|
||||
return new ProVM\Repository\Data(
|
||||
$container->get(ProVM\Concept\Database\Connection::class),
|
||||
$container->get(ProVM\Concept\Database\Query\Builder::class));
|
||||
}
|
||||
];
|
Reference in New Issue
Block a user