CodeIgniter Revolution 的命令行工具

安装: 13

依赖项: 1

建议者: 0

安全性: 0

星星: 1

关注者: 2

分支: 0

开放问题: 0

类型:项目

dev-master / 1.0.x-dev 2015-06-02 10:15 UTC

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