Yii已经为我们提供了很好的控制台功能,我们可以利用控制台创建webapp,controller, action等来加速我们的开发。同时我们还可以自己来扩展控制台应用(console application)来满足我们更多的项目需求。
console app 和 web app 类似,我们需要一个入口文件,默认的情况我们可以在protected目录发现这些文件(yiic.php, yiic, yiic.bat), 其中yiic.php为入口文件,yiic为linux的执行文件,yiic.bat为windows上的执行文件。这3个文件会在我们创建webapp的时候自动生成, 如果没有我们也可以手动加入这3个文件。
<?php
//yiic.php
// change the following paths if necessary
$yiic=dirname(__FILE__).'/../framework/yiic.php';
$config=dirname(__FILE__).'/config/console.php';
require_once($yiic);
要扩展控制台命令,我们需要写一个xxxCommand类来继承CConsoleCommand,并存放在protected/commands 目录下。 然后通过默认配置文件 protected/config/console.php 来配置console app
<?php
//console.php
// This is the configuration for yiic console application.
// Any writable CConsoleApplication properties can be configured here.
return array(
'basePath'=>dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
'name'=>'My Console Application',
);
现在让我们来写一个简单的控制台命令TestCommand,要求输入命令(test)和用户名(username),然后在屏幕上打印出 hello username.
<?php
class TestCommand extends CConsoleCommand {
public function getHelp() {
return 'test command help';
}
public function run($args) {
echo 'hello '. $arg[0];
}
}
?>
在这个类中我们需要完成2个方法,一个是getHelp(),他用于提供Test这个类命令的帮助信息,我们可以在shell中通过命令:yiic help test 来查看这个类的帮助。
此外这个类的主要功能是通过继承 run($args) 这个方法来实现的,其中$args 为从命令行获得参数数组。
现在如果我们在屏幕上输入:yiic test zhex
我们将看到程序返回: hello zhex
在console app中我们还可以实现很多有用的功能,比如发送Email, 数据库更新等。也许通过你的才智,还能写出更多有趣的功能。
分享到:
相关推荐
Yii2是不断更新和维护的,每个新版本可能包含性能优化、新的功能特性或对已有功能的改进,因此保持框架的更新对于利用最新的技术和提高开发效率至关重要。 描述中的“新下载的yii2”进一步强调了用户正准备开始使用...
#### Ⅴ、扩展Yii **1. 使用扩展** - **应用的部件** - **组件** - **动作** - **过滤器** - **控制器** - **校验器** - **控制台命令** - **模块** - **通用部件** **2. 创建扩展** - **ApplicationComponent...
#### Ⅴ、扩展Yii **1. 使用扩展** - **功能**: 使用已有的扩展增强应用的功能。 - **实现细节**: - **应用的部件**: 在应用中添加部件。 - **组件**: 在应用中添加组件。 - **动作**: 在控制器中添加动作。 -...
Yii2-GTreeTable是Yii 2框架的扩展,它是插件的包装器,另一方面为服务器端应用程序提供了支持。 借助软件,可以将节点的实际状态映射到数据库。 测试可用于。 安装 安装由实现。 在控制台中编写: composer ...
首先是从官方网站 yiiframework.com 下载 Yii 框架。其次,将下载的压缩包解压到一个 Web 可访问的目录中。需要注意的是,并非所有文件都需要暴露于 Web 目录之下;只有入口脚本(通常是 `index.php` 文件)需要被 ...
php J:/site/mysites/framework/yiic.php webapp J:/site/mysites/YII ``` 4. **确认创建**:执行上述命令后,系统会询问是否要在指定目录下创建Web应用。输入`y`确认创建即可。 #### 三、项目结构解析 创建完...
- **Yii Framework**: 高性能的组件化PHP框架。 - **Symfony**: 开源的PHP Web框架,加速Web应用开发。 - **PEAR Propel**: PHP5的对象关系映射(ORM)框架。 - **Zend Framework**: 官方支持的全功能PHP开发...