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 采集心得技巧
May 15 PHP
Pain 全世界最小最简单的PHP模板引擎 (普通版)
Oct 23 PHP
PHP函数spl_autoload_register()用法和__autoload()介绍
Feb 04 PHP
关于使用coreseek并为其做分页的介绍
Jun 21 PHP
AJAX的跨域访问-两种有效的解决方法介绍
Jun 22 PHP
PHP中使用smarty生成静态文件的例子
Apr 24 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
Win7下手动安装apache2.2、php5.4笔记
Apr 03 PHP
PHP实现简单实用的分页类代码
Apr 08 PHP
php版微信支付api.mch.weixin.qq.com域名解析慢原因与解决方法
Oct 12 PHP
php中Redis的应用--消息传递
Mar 28 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 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 while循环得到循环次数
2013/10/26 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
模板引擎smarty工作原理以及使用示例
2014/05/25 PHP
浅谈Eclipse PDT调试PHP程序
2014/06/09 PHP
php实现singleton()单例模式实例
2014/11/06 PHP
php微信开发之上传临时素材
2016/06/24 PHP
PHP CURL post数据报错 failed creating formpost data
2016/10/16 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
ThinkPHP5框架中使用JWT的方法示例
2020/06/03 PHP
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
用js实现in_array的方法
2013/11/05 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
jquery 3D 标签云示例代码
2014/06/12 Javascript
jquery实现相册一下滑动两次的方法
2015/02/09 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
javascript实现的闭包简单实例
2015/07/17 Javascript
基于LayUI分页和LayUI laypage分页的使用示例
2017/08/02 Javascript
AngularJS 中的数据源的循环输出
2017/10/12 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
JavaScript中AOP的实现与应用
2019/05/06 Javascript
JS匿名函数内部this指向问题详析
2019/05/10 Javascript
[47:18]完美世界DOTA2联赛循环赛 IO vs FTD BO2第一场 11.05
2020/11/06 DOTA
Python实现进程同步和通信的方法
2018/01/02 Python
django缓存配置的几种方法详解
2018/07/16 Python
三步实现Django Paginator分页的方法
2019/06/11 Python
pytorch实现Tensor变量之间的转换
2020/02/17 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
Python 实现一个计时器
2020/07/28 Python
HTML5公共页面提取作为公用代码的方法
2020/06/30 HTML / CSS
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
意大利综合购物网站:Giordano Shop
2016/10/21 全球购物
小学生秋游活动方案
2014/02/23 职场文书
小学生五年级大队长竞选发言稿
2014/09/12 职场文书
人工作失职检讨书
2015/05/05 职场文书
详解CSS不受控制的position fixed
2021/05/25 HTML / CSS
Python自动化之批量处理工作簿和工作表
2021/06/03 Python