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实现多进程并行执行脚本
Jun 18 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
Jul 08 PHP
php中使用session_set_save_handler()函数把session保存到MySQL数据库实例
Nov 06 PHP
php实现简单的上传进度条
Nov 17 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
php判断是否为ajax请求的方法
Nov 29 PHP
PHP调试及性能分析工具Xdebug详解
Feb 09 PHP
PHP实现转盘抽奖算法分享
Apr 15 PHP
PHP实现数组向任意位置插入,删除,替换数据操作示例
Apr 05 PHP
php时间戳转换代码详解
Aug 04 PHP
Yii框架视图、视图布局、视图数据块操作示例
Oct 14 PHP
PHP大文件及断点续传下载实现代码
Aug 18 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 项目的方法
2007/01/02 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
PHP开发之归档格式phar文件概念与用法详解【创建,使用,解包还原提取】
2017/11/17 PHP
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
完美解决js传递参数中加号和&amp;号自动改变的方法
2016/10/11 Javascript
JavaScript中捕获/阻止捕获、冒泡/阻止冒泡方法
2016/12/07 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
详解Javascript中new()到底做了些什么?
2018/03/29 Javascript
tweenjs缓动算法的使用实例分析
2019/08/26 Javascript
layui字体图标 loading图标静止不旋转的解决方法
2019/09/23 Javascript
解决node终端下运行js文件不支持ES6语法
2020/04/04 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
[01:58]最残酷竞争 2016国际邀请赛中国区预选赛积分循环赛回顾
2016/06/28 DOTA
python操作xml文件详细介绍
2014/06/09 Python
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
python安装oracle扩展及数据库连接方法
2017/02/21 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
python笔记之mean()函数实现求取均值的功能代码
2019/07/05 Python
python实现桌面气泡提示功能
2019/07/29 Python
python的json中方法及jsonpath模块用法分析
2019/12/06 Python
Python编译为二进制so可执行文件实例
2019/12/23 Python
意大利独特而优质的家居用品:Fazzini
2018/12/05 全球购物
北美最大的手工艺品零售商之一:Michaels Stores
2019/02/27 全球购物
计算 s=(x*y)1/2,用两个宏定义来实现
2016/08/11 面试题
个人找工作自荐信格式
2013/09/21 职场文书
歌唱比赛策划方案
2014/06/06 职场文书
党员四风自我剖析材料
2014/10/07 职场文书
贫困证明书格式及范文
2014/10/15 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
Mysql 数据库中的 redo log 和 binlog 写入策略
2022/04/26 MySQL