基于yaf的cli脚本程序

在这里我并不想讨论哪种语言更适合写脚本,当你团队里后台开发人员基本都是php程序员的时候,php就成了脚本的最佳选择

团队开发就得用框架,不用框架的团队开发出的代码让人绝望,所以,世界上最快的php框架yaf成了最好的选择,我们基于php7.2的yaf框架cli已经上线稳定运行

自行开发,运行稳定,贴出精简(简掉复杂的安全模块~_~)源码以供参考,源码地址本人github

https://github.com/bailuoyu/yaf-cli

下面是说明:

    首先你得修改yaf的cli的入口文件,\yaf.php为命令行入口文件

<?php
/*
 * cli命令行
 * 此文件是不被允许访问的文件,**为第一重保险**
 */
//只允许cli模式运行,**为第二重保险**
if(php_sapi_name()!='cli'){
    echo 'No authority';exit();
}
//指向项目目录
define('APP_PATH',realpath(__DIR__.'/'));
//加载框架的配置文件
$app = new Yaf\Application(APP_PATH.'/conf/'.ini_get('yaf.environ').'/application.ini');     //载入cli的配置

//引入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);

    文件\application\modules\Test\controllers\Test.php为示例文件

<?php
/*
 * 测试脚本
 */
class TestController extends CommonController {

    
    public function testAction(){
        $params = $this -> getRequest() -> getParams();
        var_dump($params);
    }

}

    脚本运行的方法

# 进入yaf主目录
php yaf.php test/test/test aaa bbb    #aaa,bbb是参数

下面是yaf的官方文档,除了是中文写的,其详细程度和更新程度一言难尽

http://www.laruence.com/manual/

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值