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 相关文章推荐
Thinkphp中Create方法深入探究
Jun 16 PHP
浅谈PHP接收POST数据方式
Jun 05 PHP
php 利用socket发送HTTP请求(GET,POST)
Aug 24 PHP
学习php设计模式 php实现工厂模式(factory)
Dec 07 PHP
PHP连接MSSQL方法汇总
Feb 05 PHP
详解PHP的Yii框架中自带的前端资源包的使用
Mar 31 PHP
PHP实现的DES加密解密实例代码
Apr 06 PHP
php简单实现多语言切换的方法
May 09 PHP
PHP编写daemon process 实例详解
Nov 13 PHP
PHP实现二维数组去重功能示例
Jan 12 PHP
laravel实现分页样式替换示例代码(增加首、尾页)
Sep 22 PHP
使用vs code编辑调试php配置的方法
Jan 29 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 输出简单动态WAP页面
2009/06/09 PHP
php smarty模版引擎中的缓存应用
2009/12/02 PHP
PHP实现多条件查询实例代码
2010/07/17 PHP
探讨php中防止SQL注入最好的方法是什么
2013/06/10 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
PHP如何解决微信文章图片防盗链
2020/12/09 PHP
js去除浏览器默认底图的方法
2015/06/08 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
jquery实现全屏滚动
2015/12/28 Javascript
JavaScript小技巧整理
2015/12/30 Javascript
拥有一个属于自己的javascript表单验证插件
2016/03/24 Javascript
Angularjs中UI Router的使用方法
2016/05/14 Javascript
BootStrap 附加导航组件
2016/07/22 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
vue.js系列中的vue-fontawesome使用
2018/02/10 Javascript
angular2中使用第三方js库的实例
2018/02/26 Javascript
[47:12]TFT vs Secret Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
python不带重复的全排列代码
2013/08/13 Python
PHP魔术方法__ISSET、__UNSET使用实例
2014/11/25 Python
python使用7z解压apk包的方法
2015/04/18 Python
Python爬虫中urllib库的进阶学习
2018/01/05 Python
django框架cookie和session用法实例详解
2019/12/10 Python
Django windows使用Apache实现部署流程解析
2020/10/12 Python
python中如何使用虚拟环境
2020/10/14 Python
Pharmacy Online中文直邮网站:澳洲大型药房
2020/06/27 全球购物
函授毕业生的自我鉴定
2013/11/26 职场文书
大学生怎样写好自荐信
2014/02/25 职场文书
企业元宵节主持词
2014/03/25 职场文书
数控机床专业自荐信
2014/05/19 职场文书
大国崛起日本观后感
2015/06/02 职场文书
运动会闭幕式致辞
2015/07/29 职场文书
Pyqt5将多个类组合在一个界面显示的完整示例
2021/09/04 Python
vue中使用mockjs配置和使用方式
2022/04/06 Vue.js
python神经网络学习 使用Keras进行简单分类
2022/05/04 Python