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数组实现无限分类,不使用数据库,不使用递归.
Dec 09 PHP
用PHP实现图象锐化代码
Jun 14 PHP
Mysql的GROUP_CONCAT()函数使用方法
Mar 28 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
php文件上传的简单实例
Oct 19 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
利用PHP脚本在Linux下用md5函数加密字符串的方法
Jun 29 PHP
完美利用Yii2微信后台开发的系列总结
Jul 18 PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 PHP
php-fpm.conf配置文件中文说明详解及重要参数说明
Oct 10 PHP
PHP实现笛卡尔积算法的实例讲解
Dec 22 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使用fullcalendar日历插件详解
2019/03/06 PHP
Laravel 模型使用软删除-左连接查询-表起别名示例
2019/10/24 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
javaScript 读取和设置文档元素的样式属性
2009/04/14 Javascript
javascript 模拟点击广告
2010/01/02 Javascript
jquery实现居中弹出层代码
2010/08/25 Javascript
createElement与createDocumentFragment的点点区别小结
2011/12/19 Javascript
js汉字排序问题 支持中英文混排,兼容各浏览器,包括CHROME
2011/12/20 Javascript
面向对象的Javascript之一(初识Javascript)
2012/01/20 Javascript
javascript学习(二)javascript常见问题总结
2013/01/02 Javascript
js setTimeout 参数传递使用介绍
2013/08/13 Javascript
jQuery实现限制textarea文本框输入字符数量的方法
2015/05/28 Javascript
使用bootstrap validator的remote验证代码经验分享(推荐)
2016/09/21 Javascript
浅入深出Vue之组件使用
2019/07/11 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
详解Python函数作用域的LEGB顺序
2016/05/14 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
Python探索之URL Dispatcher实例详解
2017/10/28 Python
Python数据拟合与广义线性回归算法学习
2017/12/22 Python
python matlibplot绘制多条曲线图
2021/02/19 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
Django框架自定义session处理操作示例
2019/05/27 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
python属于跨平台语言码
2020/06/09 Python
Python 如何展开嵌套的序列
2020/08/01 Python
CSS3 画基本图形,圆形、椭圆形、三角形等
2016/09/20 HTML / CSS
百联网上商城:i百联
2017/01/28 全球购物
微软美国官方网站:Microsoft美国
2018/05/10 全球购物
Orlebar Brown官网:设计师泳裤和泳装
2020/12/08 全球购物
创先争优公开承诺书
2014/08/30 职场文书
四风批评与自我批评范文
2014/10/14 职场文书
2014小学数学教师个人工作总结
2014/12/18 职场文书
工艺技术员岗位职责
2015/02/04 职场文书
2015年国庆节慰问信
2015/03/23 职场文书
《蚂蚁和蝈蝈》教学反思
2016/02/22 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers