anso/console

训练项目的控制台框架。

dev-master 2020-04-13 10:28 UTC

This package is auto-updated.

Last update: 2024-09-13 21:00:23 UTC


README

需求

PHP >= 7.4

安装

anso/console 可以通过 Composer 安装。

composer require anso/console:dev-master

使用

在实例化 Application 对象并调用 start() 方法之前,必须创建和放置一些配置文件在单个文件夹中

  • exception_handler.php - 必须返回 ExceptionHandler 实例
  • providers.php - 必须返回用于注册 DI 容器绑定的 Providers 数组
  • commands.php - 必须返回 CommandCollection 实例。它包含以名称为键、字符串值为 Handler 的命令数组

之后,可以像这样启动应用程序 (/console.php)

<?php

define('BASE_PATH', __DIR__);

require __DIR__ . '/vendor/autoload.php';

use Anso\Framework\Base\Container;
use Anso\Framework\Base\Configuration;
use Anso\Framework\Console\ConsoleApp;
use Anso\Framework\Base\Contract\Application;

$configuration = new Configuration('/config/console');
$container = new Container($configuration);
$app = new ConsoleApp($container, $configuration);

$container->addResolved(Application::class, $app);

$app->start();
  • 需要 BASE_PATH 常量来包含配置文件并在以后从它们中提取值。
  • 要启用自动加载,必须包含 composer 的 autoload.php。
  • 然后必须创建 ConfigurationContainerConsoleApp 对象。确保您在提供者中或在创建 $app 对象之后将 ApplicationContainerConfiguration 注册为单例。
  • $app 对象应标记为已解析,以便如果以后需要它,不会创建配置错误的重复 app 对象。
  • 最后,应用程序可以开始工作。