Yaf cli和http两种访问模式

本文档探讨了在Yaf 3.2.5版本中遇到的CLI模式下无法设置Yaf_Request_Simple参数的问题。通过分析PHP代码,展示了如何在命令行接口环境下正确构造和启动Yaf请求,以及如何在调用方法中获取请求参数。对于使用Yaf框架进行CLI应用开发的程序员来说,这是一个关键的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 请注意Yaf版本,测试3.2.5版在cli模式下Yaf_Request_Simple无法设置$params

//php yaf.php test/test/test aaa bbb    #aaa,bbb是参数


$application = new Yaf_Application( APPLICATION_PATH . "/conf/application.ini");

if(php_sapi_name()=="cli"){
    //加载cli的bootstrap配置内容
    $application->bootstrap();

    $uri_r = explode('/',$argv[1]);
    if($uri_r[2]){
    }elseif($uri_r[1]){
        array_unshift($uri_r,'index');
    }else{
        exit('uri error!');
    }
    list($module,$controller,$action) = $uri_r;
    $params = array_slice($argv,2);

    //改造请求
    $Request = new Yaf_Request_Simple('CLI',$module,$controller,$action,$params);
    //启动
    $application->getDispatcher()->dispatch($Request);
}else{
    $application->bootstrap()->run();
}

在调用方法中使用$this->getRequest()->getParams()获取参数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值