php根据命令行参数生成配置文件详解


Posted in PHP onMarch 15, 2019

像npm, composer等工具,在开始使用的使用,都需要初始化项目,生成一个项目的配置文件。这种功能的原理是怎么实现的呢?

比如:

D:\>npm init --yes
Wrote to D:\package.json:

{
 "name": "",
 "version": "1.0.0",
 "description": "",
 "main": "index.js",
 "directories": {
  "doc": "doc"
 },
 "scripts": {
  "test": "echo \"Error: no test specified\" && exit 1"
 },
 "keywords": [],
 "author": "",
 "license": "ISC"

其实很简单,在之前这篇文章php解释命令行的参数的基础上,加上下面的init分支,即可实现类似的功能

#!/usr/bin/php
<?php
  function init(){
    return file_put_contents( getcwd() . '/go.json', '{}' ) . 'bytes has written.' . 'config file has created';
  }

  $res = '';
  if( $argc >= 2 ) {
    $argv[1] == '-v' && $res = 'go version is 1.0';
    $argv[1] == 'init' && $res = init();
  }
  echo $res . PHP_EOL;
ghostwu@ghostwu:~/mybin$ ls
go2
ghostwu@ghostwu:~/mybin$ go2 init
2bytes has written.config file has created
ghostwu@ghostwu:~/mybin$ ls
go2 go.json
ghostwu@ghostwu:~/mybin$ cat go.json
{}ghostwu@ghostwu:~/mybin$

以上所述是小编给大家介绍的php根据命令行参数生成配置文件详解整合,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

PHP 相关文章推荐
php代码优化及php相关问题总结
Oct 09 PHP
php 数组二分法查找函数代码
Feb 16 PHP
PHP chmod 函数与批量修改文件目录权限
May 10 PHP
php set_time_limit(0) 设置程序执行时间的函数
May 26 PHP
php专用数组排序类ArraySortUtil用法实例
Apr 03 PHP
php 批量查询搜狗sogou代码分享
May 17 PHP
php ucwords() 函数将字符串中每个单词的首字符转换为大写(实现代码)
May 12 PHP
golang与php实现计算两个经纬度之间距离的方法
Jul 22 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
Laravel重写用户登录简单示例
Oct 08 PHP
php验证码生成器
May 24 PHP
PHP 对接美团大众点评团购券(门票)的开发步骤
Apr 03 PHP
详解PHP的抽象类和抽象方法以及接口总结
Mar 15 #PHP
PHP基于面向对象封装的分页类示例
Mar 15 #PHP
浅谈PHP无限极分类原理
Mar 14 #PHP
详解PHP队列的实现
Mar 14 #PHP
PHP精确到毫秒秒杀倒计时实例详解
Mar 14 #PHP
PHP的简单跳转提示的实现详解
Mar 14 #PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
Mar 14 #PHP
You might like
PHP设计聊天室步步通
2006/10/09 PHP
PR值查询 | PageRank 查询
2006/12/20 PHP
PHP中json_encode、json_decode与serialize、unserialize的性能测试分析
2010/06/09 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
php+mysql数据库实现无限分类的方法
2014/12/12 PHP
php实现二进制和文本相互转换的方法
2015/04/18 PHP
JavaScript中的Screen屏幕对象
2008/01/16 Javascript
让你的博客飘雪花超出屏幕依然看得见
2013/01/04 Javascript
轻松创建nodejs服务器(3):代码模块化
2014/12/18 NodeJs
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
AngularJS 执行流程详细介绍
2016/08/18 Javascript
微信小程序 登录实例详解
2017/01/16 Javascript
jquery处理checkbox(复选框)是否被选中实例代码
2017/06/12 jQuery
基于canvas粒子系统的构建详解
2017/08/31 Javascript
vscode vue 文件模板的配置方法
2019/07/23 Javascript
Layui数据表格 前后端json数据接收的方法
2019/09/19 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
JavaScript arguments.callee作用及替换方案详解
2020/09/02 Javascript
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
python读取注册表中值的方法
2013/04/08 Python
跟老齐学Python之让人欢喜让人忧的迭代
2014/10/02 Python
Python读取图片属性信息的实现方法
2016/09/11 Python
基于Python的关键字监控及告警
2017/07/06 Python
Python+OpenCV感兴趣区域ROI提取方法
2019/01/10 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
Python selenium文件上传下载功能代码实例
2020/04/13 Python
PyInstaller运行原理及常用操作详解
2020/06/13 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
MANGO官方网站:西班牙芒果服装品牌
2017/01/15 全球购物
巴西男士胡须和头发护理产品商店:Beard
2017/11/13 全球购物
澳大利亚波希米亚风时尚品牌:Tree of Life
2019/09/15 全球购物
室内设计专业学生的自我评价分享
2013/11/27 职场文书
社区两委对照检查材料
2014/08/23 职场文书
2015年八一建军节慰问信
2015/03/23 职场文书
2015年度保密工作总结
2015/04/24 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript