Yii中的资源是和Web页面相关的文件,可为CSS文件,JavaScript文件,图片或视频等,资源放在Web可访问的目录下,直接被Web服务器调用。
有时候有些功能需要做到计划任务中去,因此就需要yii能用PHP命令去执行。yii2.0是支持PHP命令行运行的,操作方法如下:
在yii根目录下面有个“yii”文件(不是“yii.bat”),这个文件就是入口。然后“commands”目录下会默认有个“HelloController.PHP”控制器文件,这个是一个demo。打开这个控制器文件,源码如下(删掉了部分注释):
PHP;">
PHP
namespace app\commands;
use yii\console\Controller;
class HelloController extends Controller
{
/**
* This command echoes what you have entered as the message.
* @param string $message the message to be echoed.
*/
public function actionIndex($message = 'hello world')
{
echo $message . "\n";
}
}
从上面可以看出,在命令行运行时,会继承console下的Controller;而一般“controllers”目录中的控制器会继承web下的Controller。
所以在PHP命令行中执行yii脚本的步骤为:
1.新建一个脚本
在“commands”目录下面按照“HelloController.PHP”的格式新建一个控制器脚本文件。
2.在命令行执行脚本
在命令行敲入“PHP yii项目所在路径/yii 控制器名/方法名”,例如“PHP E:/wwwroot/yii2/yii hello/index”,如下图所示。
需要注意的是:PHP一定要设置环境变量后才能这么用。想知道PHP是否已加入环境变量,请用“PHP -v”命令来查看。
Yii中的三种控制器类
base\Controller.PHP 这个是下面两个的基类 console\Controller.PHP 这个是控制台控制器 web\Controller.PHP 这个是web控制器