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 相关文章推荐
phpMyAdmin下载、安装和使用入门教程
May 31 PHP
火车采集器 免费版使出收费版本功能实现原理
Sep 17 PHP
php 广告调用类代码(支持Flash调用)
Aug 11 PHP
解析dedecms空间迁移步骤详解
May 15 PHP
CodeIgniter输出中文乱码的两种解决办法
Jun 12 PHP
PHP遍历数组的方法汇总
Apr 30 PHP
php微信浏览器分享设置以及回调详解
Aug 01 PHP
PHP链表操作简单示例
Oct 15 PHP
PHP排序算法之直接插入排序(Straight Insertion Sort)实例分析
Apr 20 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
Oct 24 PHP
laravel框架数据库配置及操作数据库示例
Oct 10 PHP
基于PHP+mysql实现新闻发布系统的开发
Aug 06 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/11/25 PHP
PHP 加密与解密的斗争
2009/04/17 PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
2012/07/01 PHP
div li的多行多列 无刷新分页示例代码
2013/10/16 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
php实现产品加入购物车功能(1)
2020/07/23 PHP
php封装实现钉钉机器人报警接口的示例代码
2020/08/08 PHP
浏览器兼容console对象的简要解决方案分享
2013/10/24 Javascript
jQuery中bind,live,delegate与one方法的用法及区别解析
2013/12/30 Javascript
jquery中append()与appendto()用法分析
2014/11/14 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
JavaScript评论点赞功能的实现方法
2017/03/13 Javascript
二维码图片生成器QRCode.js简单介绍
2017/08/18 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
python 控制语句
2011/11/03 Python
Python实现合并字典的方法
2015/07/07 Python
python scipy求解非线性方程的方法(fsolve/root)
2018/11/12 Python
对python xlrd读取datetime类型数据的方法详解
2018/12/26 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
CSS3 简单又实用的5个属性
2010/03/04 HTML / CSS
css3编写浏览器背景渐变背景色的方法
2018/03/05 HTML / CSS
CSS3 @media的基本用法总结
2019/09/10 HTML / CSS
伦敦一家非常流行的时尚精品店:Oxygen Boutique
2017/01/15 全球购物
JOSEPH官网:英国奢侈时尚品牌
2018/01/31 全球购物
销售顾问的岗位职责
2013/11/13 职场文书
班组长的岗位职责
2013/12/09 职场文书
教学改革实施方案
2014/03/31 职场文书
关于环保的活动方案
2014/08/25 职场文书
大学军训自我鉴定大全
2014/09/18 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
县政府领导班子四风问题对照检查材料思想汇报
2014/09/26 职场文书
2015年双拥工作总结
2015/04/08 职场文书
《假如》教学反思
2016/02/17 职场文书
python实现Thrift服务端的方法
2021/04/20 Python
nginx配置之并发频次限制
2022/04/18 Servers