cirevolution / cli
CodeIgniter Revolution 的命令行工具
dev-master / 1.0.x-dev
2015-06-02 10:15 UTC
Requires
- php: >=5.4.0
- aura/cli-kernel: ~2.0
- monolog/monolog: ~1.0
Requires (Dev)
- cirevolution/system: 1.0.*-dev
- satooshi/php-coveralls: 0.6.*
This package is not auto-updated.
Last update: 2024-09-28 17:54:33 UTC
README
此包提供了一个用于 CodeIgniterRevolution 的 Cli 工具
它包含了一些命令,您可以轻松创建自己的命令。
此工具基于 Aura.Cli_Project 2.0。
包含的命令
generate migration ... Generates migration file skeleton.
migrate ... Run migrations.
migrate status ... List all migration files and versions.
seed ... Seed the database.
run ... Run controller.
文件夹结构
codeigniter/
├── app/
├── console/
├── instance.php ... script to generate CodeIgniter instance
├── cli ... command file
├── config/ ... config folder
└── vendor/
要求
- PHP 5.4.0 或更高版本
composer
命令- Git
安装
使用 Composer 安装此项目
$ cd /path/to/codeigniter/
$ composer require cirevolution/cli:1.0.x@dev --dev
将命令文件(cli
)和配置文件(config/
)安装到您的 CodeIgniter 项目中
$ php vendor/cirevolution/cli/install.php
- 上述命令始终覆盖现有文件。
- 您必须在 CodeIgniter 项目根目录下运行它。
如果需要,请修复 instance.php
中的路径。
$system_path = $goRoot . 'vendor/cirevolution/system/src/System'; $application_folder = $goRoot . 'app'; $doc_root = $goRoot . 'public';
使用方法
显示命令列表。
$ cd /path/to/codeigniter/
$ php cli
显示命令的帮助信息。
$ php cli help seed
创建数据库种子
Seeder 类必须放置在 database/seeds
文件夹中。
database/seeds/ProductSeeder.php
<?php class ProductSeeder extends Seeder { public function run() { $this->db->truncate('product'); $data = [ 'category_id' => 1, 'name' => 'CodeIgniter Book', 'detail' => 'Very good CodeIgniter book.', 'price' => 3800, ]; $this->db->insert('product', $data); $data = [ 'category_id' => 2, 'name' => 'CodeIgniter CD', 'detail' => 'Great CodeIgniter CD.', 'price' => 4800, ]; $this->db->insert('product', $data); $data = [ 'category_id' => 3, 'name' => 'CodeIgniter DVD', 'detail' => 'Awesome CodeIgniter DVD.', 'price' => 5800, ]; $this->db->insert('product', $data); } }
创建用户命令
命令类名称必须是 *Command.php
,并放置在 application/commands
文件夹中。
application/commands/TestCommand.php
<?php class TestCommand extends Command { public function __invoke() { $this->stdio->outln('<<green>>This is TestCommand class<<reset>>'); } }
命令帮助类名称必须是 *CommandHelp.php
,并放置在 application/commands
文件夹中。
application/commands/TestCommandHelp.php
<?php class TestCommandHelp extends Help { public function init() { $this->setSummary('A single-line summary.'); $this->setUsage('<arg1> <arg2>'); $this->setOptions(array( 'f,foo' => "The -f/--foo option description", 'bar::' => "The --bar option description", )); $this->setDescr("A multi-line description of the command."); } }
参考
如何运行测试
要运行测试,您必须首先安装 CodeIgniter。
$ composer create-project cirevolution/ci codeigniter
$ cd codeigniter
$ composer require cirevolution/cli:1.0.x@dev --dev
$ php vendor/cirevolution/cli/install.php
$ cd vendor/cirevolution/cli
$ composer install
$ phpunit