eureka/kernel-console

Eureka 框架的内核。定义控制台应用程序内核版本

6.1.0 2024-09-26 10:15 UTC

README

Current version Supported PHP version Build Quality Gate Status Coverage

任何 Eureka 框架应用程序的内核控制台。

定义全局应用程序和组件内核版本

安装

如果您想在项目中安装它,请通过 composer 引入

composer require eureka-framework/kernek-console

用法

<?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 文件。

安装/更新项目

您可以使用以下命令安装项目

make install

并且可以使用以下命令更新

make update

注意:对于内核,composer.lock 文件没有提交。

测试 & CI(持续集成)

测试

您可以使用以下命令在您的侧边运行单元测试(带有覆盖率)

make tests

您可以使用以下命令在您的侧边运行集成测试(但没有覆盖率)

make integration

为了获得更漂亮的输出(但没有覆盖率),您可以使用以下命令

make testdox # run tests without coverage reports but with prettified output

代码风格

您还可以使用以下命令运行代码风格检查

make phpcs

您还可以使用以下命令运行代码风格修复

make phpcbf

静态分析

要执行代码的静态分析(使用 phpstan,默认为 lvl 9),您可以使用以下命令

make phpstan

为了确保您的代码仍然与当前支持的 Deezer 版本以及未来的 PHP 版本兼容,您需要运行以下命令(两者都是必须的,以获得完全支持)

最小支持版本

make php81compatibility

最大支持版本

make php83compatibility

CI 模拟

最后,“辅助”命令,您可以在提交和推送之前运行的是

make ci  

许可协议

此项目目前是 专有 的,不应在 Deezer 之外使用