php yii 命令行,yii2.0 command 命令行动作实战

1、在根目录下面添加yii和yii.bat两个文件

其中yii内容如下

#!/usr/bin/env php

/**

* Yii console bootstrap file.

*

* @link http://www.yiiframework.com/

* @copyright Copyright (c) 2008 Yii Software LLC

* @license http://www.yiiframework.com/license/

*/

defined('YII_DEBUG') or define('YII_DEBUG', true);

// fcgi doesn't have STDIN and STDOUT defined by default

defined('STDIN') or define('STDIN', fopen('php://stdin', 'r'));

defined('STDOUT') or define('STDOUT', fopen('php://stdout', 'w'));

require(__DIR__ . '/vendor/autoload.php');

require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');

require(__DIR__ . '/common/bootstrap.php'); // 加载别名配置

$config = require(__DIR__ . '/config/console.php');

$application = new yii\console\Application($config);

$exitCode = $application->run();

exit($exitCode);

其中yii.bat内容如下

@echo off

rem -------------------------------------------------------------

rem  Yii command line bootstrap script for Windows.

rem

rem  @author Qiang Xue

rem  @link http://www.yiiframework.com/

rem  @copyright Copyright (c) 2008 Yii Software LLC

rem  @license http://www.yiiframework.com/license/

rem -------------------------------------------------------------

@setlocal

set YII_PATH=%~dp0

if "%PHP_COMMAND%" == "" set PHP_COMMAND=D:\wamp\bin\php\php5.4.16\php.exe(主要修改的是这块php的位置)

"%PHP_COMMAND%" "%YII_PATH%yii" %*

@endlocal

其中common/bootstrap.php内容如下

//定义别名

Yii::setAlias('modules', dirname(__DIR__).'\modules');

其中config/console.php的内容如下

Yii::setAlias('@tests', dirname(__DIR__) . '/tests');

$params = require(__DIR__ . '/params.php');

return [

'id' => 'basic-console',

'basePath' => dirname(__DIR__),

'bootstrap' => ['log'],

'controllerNamespace' => 'app\commands',

'components' => [

'FileCache' => [

'class' => 'yii\caching\FileCache',

],

'log' => [

'targets' => [

[

'class' => 'yii\log\FileTarget',

'levels' => ['error', 'warning'],

],

],

],

'db' => [

'class' => 'yii\db\Connection',

'dsn' => 'mysql:host=localhost;dbname=test',

'emulatePrepare' => true,

//'enableProfiling' => true,

//'enableParamLogging' => false,

'username' => 'test',

'password' => 'test',

'charset' => 'utf8',

'tablePrefix' => 'test_',

],

],

'modules' => [

'Examples' => [

'class' => 'modules\Examples\index',

'db' => 'db',

],

],

'params' => $params,

];

其中配置components中的键FileCache,使用的时候这样Yii::$app->FileCache->get("test");

其中的db调用的时候这样\Yii::$app->db->createCommand()->insert($this->tablename, $data)->execute();

最下面的modules模块就是加载模块 在commands里面控制器use的时候使用 不然会报错:class "modules\Test\models\Test" not found

'modules' => [

'Examples' => [

'class' => 'modules\Examples\index',

'db' => 'db',

],

],

2、打开windows命令行 cmd

a7420f1db5a8352e1313e8589ec45b52.png

3、开始在commands目录下面写一个测试控制器 内容如下

83b1124a99a5758b118a7f72775bdf86.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值