php-cc项目重构记录

最近利用空余时间把之前的一个小工具重构了下,主要是使用引入了Symfony/Console,优化了指令的交互,后期的功能扩展也方便很多。另外就是用Symfony/Yaml来管理配置文件,对配置文件的操作也好了很多。原文地址

使用Symfony/Console重构指令

phpcc的主要指令由install、remove、config。之前是用php直接写的,根据$argv获取指令的参数,然后使用switch结构去分别执行。

if (count($argv) < 2) {
    print<<<...
    exit(1);
}

switch ($argv[1]) {
    case 'install':
        ...
    case 'remove':
        ...
    case 'config':
        ...
    default:
        ...
}

现在引入了Console框架,创建统一的指令入口Application,在Application中集成指令,最后运行对应指令:

$application = new Application();
$application->add(new ConfigCommand());
...
$application->run();

使用这种方式,极大方便了以后扩展指令,以及每个指令的维护升级工作。

使用Symfony/Yaml

之前的配置是通过正则匹配来完成读取和写入的。

function get_ini_file()
{
    $file_name = './vendor/zhenggui/php-cc/phpcc.ini';
    $str = file_get_contents($file_name);
    $ini_list = explode("\n", $str);
    $ini_items = array();
    foreach ($ini_list as $item) {
        $one_item = explode("=", $item);
        if (isset($one_item[0]) && isset($one_item[1])) {
            $ini_items[trim($one_item[0])] = trim($one_item[1]);
        }
    }
    return $ini_items;
}

使用Yaml来管理配置,要方便很多:

$config_content = Yaml::parseFile($config_file_path);
添加了开发/生产环境的支持

为了方便开发测试,增加了开发环境的支持,只需要在项目中添加.dev.lock文件,运行命令就会判断为开发环境,并完成一些初始化操作。

好了,这个小重构差不多就这么多内容,后面希望慢慢再加一些功能。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值