in2pire/cli

IN2PIRE CLI 框架

1.9.0 2016-10-14 07:42 UTC

This package is auto-updated.

Last update: 2024-09-29 04:49:09 UTC


README

A Simple PHP CLI Framework provides

安装

in2pire/cli 添加到你的 composer.json 中并运行 composer install

结构

  • 应用
  • 命令
  • 任务

待定

常量

  • APP_NAME: 您的应用名称
  • APP_PATH: 您的 CLI 应用路径
  • APP_CONF_PATH: 存储应用配置文件的目录路径

如何构建您的 CLI 应用

  1. 使用 composer 创建项目并准备所有信息(或将 in2pire/cli 添加到 composer.json)
  2. 准备配置目录和配置文件。该目录必须在项目内部。
  3. 创建您的 CLI 应用。定义所需常量
  4. 添加命令和任务

例如

#!/usr/bin/env php
<?php

/**
 * Memcached CLI Application
 */

if (PHP_SAPI !== 'cli') {
    echo 'Warning: memcached-cli should be invoked via the CLI version of PHP, not the ' . PHP_SAPI . ' SAPI' . PHP_EOL;
    exit(1);
}

define('APP_NAME', 'memcached-cli');
define('APP_PATH', __DIR__);
define('APP_CONF_PATH', APP_PATH . '/../conf/' . APP_NAME);

// Add class loader.
require APP_PATH . '/../vendor/autoload.php';

// Run application.
$app = new In2pire\Cli\CliApplication();
$app->run();

如何编译您的 CLI 应用

in2pire/cli 的安装目录中包含了编译器。它使用 Phar 将整个应用放入单个文件,便于分发和安装

参数

  • --config: CLI 应用的配置目录路径
  • --bin: CLI 应用的主可执行文件路径
  • --no-compress: 不压缩 PHP 文件
  • --no-optimize: 不优化类加载器
  • --no-phar: 不添加 .phar 扩展名
  • --executable: 创建可执行文件

要求

  • 您需要在您的 Git 仓库中运行编译器,这有助于检测应用版本
  • 您需要 Phar 才能编译您的应用
  • 如果您想减小二进制文件的大小,则需要 zlibbzip2

例如,在 memcached-cli 中。通过以下命令进行编译

./bin/compile --bin=bin/memcached-cli --config=conf/memcached-cli --executable --no-phar

示例

依赖

  • PHP >= 5.4
  • Symfony YAML (symfony/yaml) >= 2.6
  • Symfony Console (symfony/console) >= 2.6
  • IN2PIRE Utilities (in2pire/utility) 稳定版本}

路线图

  • 更好的文档
  • 官方网站
  • 帮助创建类和配置文件的生成器
  • 改进编译器以检测配置目录