如何在Yii2中创建控制台命令(rake任务)?

时间:2015-04-28 21:24:14

标签: php yii yii2

我使用Gii创建此文件,但我无法从控制台执行它!

controllers/KWController.php
<?php

namespace app\controllers;

class KWController extends \yii\console\Controller
{
    public function actionIndex()
    {
        return $this->render('index');
    }

}

当我尝试运行它时,它会失败。

$ yii kw
Error: Unknown command "kw".

$ yii Kw
Error: Unknown command "Kw".

$ yii kW
Error: Unknown command "kW".

$ yii kw/index
Error: Unknown command "kw/index".

指南没有任何帮助,因为一切都井然有序。

http://www.yiiframework.com/doc-2.0/guide-tutorial-console.html

2 个答案:

答案 0 :(得分:2)

我必须将文件放在$ perl addFile.pl Timestamp: 20150428162016 xquery version "3.0"; import module namespace xmldb="http://exist-db.org/xquery/xmldb"; declare variable $filename := '20150428162016.xml'; declare variable $record := ''; let $log-in := xmldb:login("/db", "admin", "admin") (: let $create-collection := xmldb:create-collection("/db", "output") :) let $record := <document id="doc_20150419014112"> <text>ñáéíóú</text> </document> for $target in ('/db/output') return xmldb:store($target, $filename, $record) An error occurred: Failed to parse XML-RPC request: Byte "195" is not a member of the (7-bit) ASCII character set. 路径中并更改命名空间。很奇怪,文档根本没有提到。为什么Gii把它放在那里?

答案 1 :(得分:0)

如果您使用的是define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com'); 模板,则控制台命令会作为控制器进入public class MainActivity extends Activity { private WebView wv1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mWebView = (WebView) findViewById(R.id.webView); WebView myWebView = (WebView) findViewById(R.id.webView); WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); wv1=(WebView)findViewById(R.id.webView); wv1.setWebChromeClient(new WebChromeClient() { }); wv1.setWebViewClient(new MyBrowser()); wv1.loadUrl("http://m.youtube.com"); } ..... 目录。

如果您使用的是yii2-app-basic模板,则控制台命令会显示在commands文件夹中。