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 cache类代码(php数据缓存类)
Apr 15 PHP
php数组函数序列之array_flip() 将数组键名与值对调
Nov 07 PHP
php中echo()和print()、require()和include()等易混淆函数的区别
Feb 22 PHP
Linux下CoreSeek及PHP扩展模块的安装
Sep 23 PHP
PHP删除非空目录的函数代码小结
Feb 28 PHP
使用php验证复选框有效性的示例
Nov 13 PHP
PHP中使用php://input处理相同name值的表单数据
Feb 03 PHP
php将数组存储为文本文件方法汇总
Oct 28 PHP
PHP5.3连接Oracle客户端及PDO_OCI模块的安装方法
May 13 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
PHP面向对象之事务脚本模式(详解)
Jun 07 PHP
php基于数组函数实现关联表的编辑操作示例
Jul 04 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中时间轴开发(刚刚、5分钟前、昨天10:23等)
2011/10/03 PHP
gd库图片下载类实现下载网页所有图片的php代码
2012/08/20 PHP
PHP PDOStatement:bindParam插入数据错误问题分析
2013/11/13 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
Laravel中Trait的用法实例详解
2016/03/16 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
Nigma vs AM BO3 第一场2.13
2021/03/10 DOTA
js 蒙版进度条(结合图片)
2010/03/10 Javascript
js和jquery批量绑定事件传参数一(新猪猪原创)
2010/06/23 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
2013/09/10 Javascript
js调用后台、后台调用前台等方法总结
2014/04/17 Javascript
15款jQuery分布引导插件分享
2015/02/04 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
vue中如何创建多个ueditor实例教程
2017/11/14 Javascript
微信小程序使用input组件实现密码框功能【附源码下载】
2017/12/11 Javascript
vue-cli 3.x 配置Axios(proxyTable)跨域代理方法
2018/09/19 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
详细介绍解决vue和jsp结合的方法
2020/02/06 Javascript
[00:44]华丽开场!DOTA2勇士令状带来全新对阵画面
2019/05/15 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
粗略分析Python中的内存泄漏
2015/04/23 Python
python anaconda 安装 环境变量 升级 以及特殊库安装的方法
2017/06/21 Python
python3+django2开发一个简单的人员管理系统过程详解
2019/07/23 Python
解决jupyter notebook 出现In[*]的问题
2020/04/13 Python
Python中的全局变量如何理解
2020/06/04 Python
Python爬虫定时计划任务的几种常见方法(推荐)
2021/01/15 Python
CSS3教程(4):网页边框和网页文字阴影
2009/04/02 HTML / CSS
eBay英国购物网站:eBay.co.uk
2019/06/19 全球购物
个人自荐信
2013/12/05 职场文书
大学生优秀班干部事迹材料
2014/05/26 职场文书
交通事故和解协议书
2015/01/27 职场文书
公司介绍信范文
2015/01/31 职场文书
Golang 实现获取当前函数名称和文件行号等操作
2021/05/08 Golang
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers
python如何读取和存储dict()与.json格式文件
2022/06/25 Python