yaf设置cli脚本执行模式

话不多说,刚配置好了yaf的脚本执行模式,提供给有需要的朋友。

效果如果如下:

 代码如下:

<?php
// 脚本模式
define('APPLICATION_PATH', dirname(__FILE__));

$app = new YafApplication(APPLICATION_PATH . "/conf/application.ini");
$module = "index";
$controller = "index";
$method = "mqcon";
if ($argv[1]) $module = $argv[1];
if ($argv[2]) $controller = $argv[2];
if ($argv[3]) $method = $argv[3];
$param = $argv[4]?:[];
if ($param)
{
    $param = convertUrlQuery($param);
}
$app->getDispatcher()->dispatch(new YafRequestSimple("", $module, $controller,$method,$param));
//$app->getDispatcher()->dispatch(new YafRequestSimple("mqcon", "index", "index","",$param));

function convertUrlQuery($query)
{
    $queryParts = explode('&', $query);
    $params = array();
    foreach ($queryParts as $param) {
        $item = explode('=', $param);
        $params[$item[0]] = $item[1];
    }
    return $params;
}

我是用的是命名空间模式,可自行修改。其实其已经做好很多兼容的,只需要将正常web访问的方式,以module,controller,method分别写入就行了,废话有点多,大家看代码就很容易看懂了

如有疑问,可联系我,我会及时解答。

原文地址:https://www.cnblogs.com/allen-spot/p/11439094.html