in2pire / cli
IN2PIRE CLI 框架
1.9.0
2016-10-14 07:42 UTC
Requires
- php: >=5.4
- in2pire/utility: >=1.0.3
- symfony/console: 2.7.x
- symfony/yaml: 2.7.x
Suggests
- in2pire/cli-compiler: IN2PIRE CLI Compiler
README
A Simple PHP CLI Framework provides
安装
将 in2pire/cli 添加到你的 composer.json 中并运行 composer install
结构
- 应用
- 命令
- 任务
待定
常量
APP_NAME: 您的应用名称APP_PATH: 您的 CLI 应用路径APP_CONF_PATH: 存储应用配置文件的目录路径
如何构建您的 CLI 应用
- 使用 composer 创建项目并准备所有信息(或将
in2pire/cli添加到 composer.json) - 准备配置目录和配置文件。该目录必须在项目内部。
- 创建您的 CLI 应用。定义所需常量
- 添加命令和任务
例如
#!/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 才能编译您的应用
- 如果您想减小二进制文件的大小,则需要
zlib或bzip2
例如,在 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) 稳定版本}
路线图
- 更好的文档
- 官方网站
- 帮助创建类和配置文件的生成器
- 改进编译器以检测配置目录