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实现框架(一)
Oct 09 PHP
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
PHP获取数组中某元素的位置及array_keys函数应用
Jan 29 PHP
PHP反向代理类代码
Aug 15 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
PHP实现适用于自定义的验证码类
Jun 15 PHP
ecshop适应在PHP7的修改方法解决报错的实现
Nov 01 PHP
Thinkphp整合微信支付功能
Dec 14 PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
php更新cookie内容的详细方法
Sep 30 PHP
Laravel第三方包报class not found的解决方法
Oct 13 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
合作指挥官:孟斯克
2020/03/16 星际争霸
Trying to clone an uncloneable object of class Imagic的解决方法
2012/01/11 PHP
php处理文件的小例子(解压缩,删除目录)
2013/02/03 PHP
php读取mysql中文数据出现乱码的解决方法
2013/08/16 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
jQuery入门知识简介
2010/03/04 Javascript
关于js获取radio和select的属性并控制的代码
2011/05/12 Javascript
javascript轻量级模板引擎juicer使用指南
2014/06/22 Javascript
jQuery CSS()方法改变现有的CSS样式
2014/08/20 Javascript
使用bootstrap typeahead插件实现输入框自动补全之问题及解决办法
2016/07/07 Javascript
vue实现仿淘宝结账页面实例代码
2017/11/08 Javascript
在AngularJs中设置请求头信息(headers)的方法及不同方法的比较
2018/09/04 Javascript
jQuery实现获取及设置CSS样式操作详解
2018/09/05 jQuery
js自定义input文件上传样式
2018/10/26 Javascript
微信小程序地图绘制线段并且测量(实例代码)
2020/01/02 Javascript
js+canvas实现图片格式webp/png/jpeg在线转换
2020/08/22 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
Python functools模块学习总结
2015/05/09 Python
windows下安装Python和pip终极图文教程
2017/03/05 Python
使用python编写简单的小程序编译成exe跑在win10上
2018/01/15 Python
NumPy 如何生成多维数组的方法
2018/02/05 Python
Python制作微信好友背景墙教程(附完整代码)
2019/07/17 Python
python实现日志按天分割
2019/07/22 Python
python 删除系统中的文件(按时间,大小,扩展名)
2020/11/19 Python
用python监控服务器的cpu,磁盘空间,内存,超过邮件报警
2021/01/29 Python
详解CSS3+JS完美实现放大镜模式
2020/12/03 HTML / CSS
wedgwood加拿大官网:1759年成立的英国国宝级陶瓷餐具品牌
2018/07/17 全球购物
会计与审计专业大专生求职信
2013/10/03 职场文书
音乐教学案例
2014/01/30 职场文书
个人委托书范本
2014/04/02 职场文书
房地产广告策划方案
2014/05/15 职场文书
企业年度评优方案
2014/06/02 职场文书
大学感恩节活动策划方案
2014/10/11 职场文书
幼儿园五一劳动节活动总结
2015/02/09 职场文书