xiaoguozi's Blog
Pay it forword - 我并不觉的自豪,我所尝试的事情都失败了······习惯原本生活的人不容易改变,就算现状很糟,他们也很难改变,在过程中,他们还是放弃了······他们一放弃,大家就都是输家······让爱传出去,很困难,也无法预料,人们需要更细心的观察别人,要随时注意才能保护别人,因为他们未必知道自己要什么·····
more:
http://www.yiiframework.com/doc/guide/1.1/zh_cn/topics.console

PHP提供的cli模式可以进行一些简单的shell程序开发,Yii框架也提供了cli程序开发的解决方案。

在Yii项目的protected目录下,存在yiic和yii.bat两个文件,它们分别是类unix系统和windows系统下执行Yii项目的命令行程序的入口,例如:

1
$ yiic command action --param=value

或者

1
 $ php yiic sitemap test --type=value

具体使用哪种写法,取决于入口程序是否有执行权限,例如,在linux系统下,如果执行命令:

1
chmod +x yiic

给予了yiic执行权限,就可以用第一种方式来执行php命令行程序,否则需要使用第二种方式。

执行Yii的命令行程序的命令有四部分组成:
命令行入口程序yiic
要执行的命令名称,类似Yii框架web程序的controller
要执行的动作名称,类似Yii框架web程序controller的action
提供给程序的外部参数,以两个短横线“–”开头,参数没有顺序

要建立一个命令行程序,需要继承一个CConsoleCommand的子类:


class SitemapCommand extends CConsoleCommand
{
    public function actionTest($type, $limit=5) { ... }
}

保存到protected/commands/SitemapCommand.php文件。

在命令行下执行:

1
$ php yiic sitemap test --type=value

SitemapCommand类的 actionTest 方法就会被执行,并获得值为value的$type参数。

可以在protected/config/console.php文件中进行命令行模式下相关参数的配置,例如数据库连接信息等,配置方法和Yii的web模式一样。

posted on 2012-12-12 14:41 小果子 阅读(5471) 评论(0)  编辑 收藏 引用 所属分类: 学习笔记框架

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理