kenjis / codeigniter-cli
CodeIgniter 3.0 的命令行工具
v0.1.0
2015-07-05 09:24 UTC
Requires
- php: >=5.4.0
- aura/cli-kernel: ~2.0
- monolog/monolog: ~1.0
Requires (Dev)
- satooshi/php-coveralls: 0.6.*
This package is auto-updated.
Last update: 2024-08-29 04:04:39 UTC
README
本包为 CodeIgniter 3.0 提供了一个 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/
├── application/
├── ci_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 kenjis/codeigniter-cli --dev
将命令文件(cli
)和配置文件(config/
)安装到您的 CodeIgniter 项目中
$ php vendor/kenjis/codeigniter-cli/install.php
- 上述命令总是覆盖现有文件。
- 您必须在 CodeIgniter 项目根目录中运行它。
如有需要,请修复 ci_instance.php
中的路径。
$system_path = 'vendor/codeigniter/framework/system'; $application_folder = 'application'; $doc_root = 'public'; // where index.php is
如果您使用 codeigniter-composer-installer 安装 CodeIgniter,则无需更改它们。
用法
显示命令列表。
$ cd /path/to/codeigniter/
$ php cli
显示命令的帮助信息。
$ php cli help seed
创建数据库种子
种子类必须放置在 application/database/seeds
文件夹中。
application/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 kenjis/codeigniter-composer-installer codeigniter
$ cd codeigniter
$ composer require kenjis/codeigniter-cli:1.0.x@dev --dev
$ php vendor/kenjis/codeigniter-cli/install.php
$ cd vendor/kenjis/codeigniter-cli
$ composer install
$ phpunit