»
返回PHPEye网站首页
游客:
注册
|
登录
|
统计
|
帮助
PHPEye开源社区
»
Zend Framework 使用讨论
» [求助]关于CLI环境的开发
‹‹ 上一主题
|
下一主题 ››
投票
交易
悬赏
活动
打印
|
推荐
|
订阅
|
收藏
标题: [求助]关于CLI环境的开发
xyzoem
新手上路
UID 2542
精华 0
积分 0
帖子 4
翻译 0
原创 0
阅读权限 10
注册 2008-11-13
状态 离线
#1
使用道具
发表于 2008-11-14 12:20
资料
短消息
加为好友
[求助]关于CLI环境的开发
看手册上说的,Zend_Controller请求对象封装了请求的模块,控制器,动作以及可选的参数,还包括其他的请求环境,如HTTP,CLI,PHP-GTK.
但是在CLI环境下应该如何设置,我只找到了response CLI的类,但是没有找到request CLI的类,用Request_Simple吗?还有其他什么需要特别设置的?
haohappy
超级版主
PHPEye站长
UID 2
精华
11
积分 110
帖子 288
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
#2
使用道具
发表于 2008-11-14 14:24
资料
短消息
加为好友
你是要写一个命令行下的脚本吗? 试试这个:
http://www.phpeye.com/zf/zend.console.getopt.html
在命令行下似乎没必要用Controller。。手册里这样写只是为了表示存在这种可能,但我个人觉得实际上并没有什么必要,命令行下的程序通常不会用什么mvs结构。
互助共享,共同成长。
xyzoem
新手上路
UID 2542
精华 0
积分 0
帖子 4
翻译 0
原创 0
阅读权限 10
注册 2008-11-13
状态 离线
#3
使用道具
发表于 2008-11-14 14:45
资料
短消息
加为好友
对,要写一个命令行下的脚本。
确实,mcv结构没必要,但是Controller提供的环境基础和程序流程控制功能比如forward之类的很有用。能够方便实现一些比较复杂的逻辑。
haohappy
超级版主
PHPEye站长
UID 2
精华
11
积分 110
帖子 288
翻译 6
原创 1
阅读权限 150
注册 2007-5-2
状态 离线
#4
使用道具
发表于 2008-11-16 10:11
资料
短消息
加为好友
QUOTE:
原帖由
xyzoem
于 2008-11-14 14:45 发表
对,要写一个命令行下的脚本。
确实,mcv结构没必要,但是Controller提供的环境基础和程序流程控制功能比如forward之类的很有用。能够方便实现一些比较复杂的逻辑。 ...
如果你要用Controller来控制流程,那么你可以模仿Zend/Controller/Request/Http.php自己写一个CLI专用的请求对象,文件就放在这个目录下,然后把控制器的Request对象设置为你自己写的这个。
Request class里面的方法包括获取,设置命令行参数,获取当前控制器,当前方法之类的。这样也就能用了。
[
本帖最后由 haohappy 于 2008-11-16 10:12 编辑
]
互助共享,共同成长。
xyzoem
新手上路
UID 2542
精华 0
积分 0
帖子 4
翻译 0
原创 0
阅读权限 10
注册 2008-11-13
状态 离线
#5
使用道具
发表于 2008-11-19 16:14
资料
短消息
加为好友
搞定了,除了需要写一个CLI专用的request,还要写一个CLI专用的router。
入口代码:
$frontController->setResponse('Zend_Controller_Response_Cli');
$frontController->setRouter('Zend_Controller_Router_Cli');
$cliRequest = new Zend_Controller_Request_Cli();
$cliRequest->setModuleName('batch');
$cliRequest->setControllerName('index');
$cliRequest->setActionName('test');
$frontController->setRequest($cliRequest);
$frontController->dispatch();
如果要直接通过命令行的参数取得程序需要的参数,需要重写router类的route方法
投票
交易
悬赏
活动
最近访问的论坛 ...
站务讨论
PHP周边技术讨论区
PEAR (PHP Extension and Application Repository)
PHPEye开源社区
控制面板首页
编辑个人资料
积分交易
公众用户组
好友列表
基本概况
论坛排行
主题排行
发帖排行
积分排行
在线时间
管理团队
当前时区 GMT+8, 现在时间是 2010-9-7 19:10
Powered by
Discuz!
5.5.0
© 2001-2007
Comsenz Inc.
Processed in 0.023592 second(s), 8 queries , Gzip enabled
TOP
清除 Cookies
-
联系我们
-
PHPEye开源社区
-
Archiver