基于yaf的cli脚本程序
首先你得修改yaf的cli的入口文件,\Cli.php为命令行入口文件
<?php
define('APPLICATION_PATH', dirname(__FILE__));
//$application = new Yaf_Application( APPLICATION_PATH . "/conf/application.ini");
////$application->getDispatcher()->dispatch(new Yaf_Request_Simple());
//$application->bootstrap()->execute('callback', $avg1, $avg2);
/*
* cli命令行
* 此文件是不被允许访问的文件,**为第一重保险**
*/
//只允许cli模式运行,**为第二重保险**
if(php_sapi_name()!='cli'){
echo 'No authority';exit();
}
//指向项目目录
define('APP_PATH',realpath(__DIR__.'/'));
//print_r(APP_PATH.'/conf/'.ini_get('yaf.environ').'/application.ini');exit;
//加载框架的配置文件
//$app = new Yaf_Application(APP_PATH.'/conf/application.ini'); //载入cli的配置
$app = new Yaf_Application( APPLICATION_PATH . "/conf/application.ini");
//引入composer
require APP_PATH.'/vendor/autoload.php';
//加载cli的bootstrap配置内容
$app -> bootstrap();
//检查argv参数,**为第三重保险**
$uri_r = explode('/',$argv[1]);
$count = count($uri_r);
if($uri_r[2]){
}elseif($uri_r[1]){
array_unshift($uri_r,'index');
}else{
echo 'uri error!';exit();
}
list($module,$controller,$action) = $uri_r;
$params = array_slice($argv,2);
//改造请求
$Request = new Yaf_Request_Simple('CLI',$module,$controller,$action,$params);
//启动
$app -> getDispatcher() -> dispatch($Request);
?>
调用为
php72 /home/www/wwwroot/openapi.qi360.cn/Cli.php Dbem/test 9 1
#9,1是参数
#9,1是参数
public function testAction(){
$params = $this -> getRequest() -> getParams();
var_dump($params); //获取为数组 0为第一个参数
}

浙公网安备 33010602011771号