eureka / kernel-console
Kernel for Eureka Framework. Define console application kernel versions
Requires
- php: 8.1.*||8.2.*||8.3.*
- eureka/component-console: ^6.0
- symfony/config: ^5.4||^6.3||^7.0
- symfony/dependency-injection: ^5.4||^6.3||^7.0
- symfony/yaml: ^v5.4||^6.3||^7.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.64.0
- maglnet/composer-require-checker: ^4.7.1
- phpstan/phpstan: ^1.12.4
- phpstan/phpstan-phpunit: ^1.4.0
- phpunit/phpcov: ^9.0.2
- phpunit/phpunit: ^10.5.35
- psr/container: ^1.0||^2.0.2
- shipmonk/composer-dependency-analyser: ^1.7.0
- symfony/cache: ^6.4.12||^7.0
This package is auto-updated.
Last update: 2024-10-26 10:32:50 UTC
README
Kernel Console for any Eureka Framework application.
Define global Application & Component kernel version
Installation
If you wish to install it in your project, require it via composer:
composer require eureka-framework/kernek-console
Usage
<?php /* * Copyright (c) Romain Cottard * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ use Eureka\Kernel\Console\Application\Application; use Eureka\Kernel\Console\Kernel; use Lcobucci\Clock\SystemClock; use Psr\Container\NotFoundExceptionInterface; //~ Define Loader & add main classes for config require_once __DIR__ . '/vendor/autoload.php'; try { $root = realpath(__DIR__ . '/..'); $env = 'dev'; $debug = true; $kernel = new Kernel($root, $env, $debug); $console = (new Application(SystemClock::fromUTC(), $argv, container: $kernel->getContainer())) ->setBaseNamespaces(['Application\Script', 'Eureka\Component']) ; $console->before(); $console->run(); $console->after(); $console->terminate(); } catch (\Throwable $exception) { echo 'Exception: ' . $exception->getMessage() . PHP_EOL; exit(1); }
Contributing
See the CONTRIBUTING file.
Install / update project
You can install project with the following command:
make install
And update with the following command:
make update
NB: For the kernel, the composer.lock
file is not committed.
Testing & CI (Continuous Integration)
Tests
You can run unit tests (with coverage) on your side with following command:
make tests
You can run integration tests (but without coverage) on your side with following command:
make integration
For prettier output (but without coverage), you can use the following command:
make testdox # run tests without coverage reports but with prettified output
Code Style
You also can run code style check with following commands:
make phpcs
You also can run code style fixes with following commands:
make phpcbf
Static Analysis
To perform a static analyze of your code (with phpstan, lvl 9 at default), you can use the following command:
make phpstan
To ensure you code still compatible with current supported version at Deezer and futures versions of php, you need to run the following commands (both are required for full support):
Minimal supported version:
make php81compatibility
Maximal supported version:
make php83compatibility
CI Simulation
And the last "helper" commands, you can run before commit and push, is:
make ci
License
This project is currently proprietary and should NOT be used outside Deezer