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 相关文章推荐
smarty巧妙处理iframe中内容页的代码
Mar 07 PHP
PHP 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
Oct 05 PHP
非常实用的php弹出错误警告函数扩展性强
Jan 17 PHP
php解析url的三个示例
Jan 20 PHP
PHP中nowdoc和heredoc使用需要注意的一点
Mar 21 PHP
PHP 之 写时复制介绍(Copy On Write)
May 13 PHP
PHP合并数组函数array_merge用法分析
Feb 17 PHP
yii 2.0中表单小部件的使用方法示例
May 23 PHP
PHP实现的登录页面信息提示功能示例
Jul 24 PHP
Laravel框架运行出错提示RuntimeException No application encryption key has been specified.解决方法
Apr 02 PHP
php求斐波那契数的两种实现方式【递归与递推】
Sep 09 PHP
php使用json-schema模块实现json校验示例
Sep 28 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禁止个别IP访问网站
2013/10/30 PHP
PHP 提取图片img标记中的任意属性的简单实例
2013/12/10 PHP
PHP开发中常见的安全问题详解和解决方法(如Sql注入、CSRF、Xss、CC等)
2014/04/21 PHP
php使用正则过滤js脚本代码实例
2014/05/10 PHP
php获得文件大小和文件创建时间的方法
2015/03/13 PHP
Laravel框架中队列和工作(Queues、Jobs)操作实例详解
2020/04/06 PHP
IE6背景图片不缓存问题解决方案及图片使用策略多个方法小结
2012/05/14 Javascript
js综合应用实例简单的表格统计
2013/09/03 Javascript
javascript使用switch case实现动态改变超级链接文字及地址
2014/12/16 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
nginx+vue.js实现前后端分离的示例代码
2018/02/12 Javascript
使用vue-cli打包过程中的步骤以及问题的解决
2018/05/08 Javascript
解决layui 复选框等内置控件不显示的问题
2018/08/14 Javascript
详解微信UnionID作用
2019/05/15 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
Vue-CLI 项目在pycharm中配置方法
2019/08/30 Javascript
mustache.js实现首页元件动态渲染的示例代码
2020/12/28 Javascript
Python基本数据类型详细介绍
2014/03/11 Python
python获取android设备的GPS信息脚本分享
2015/03/06 Python
Python中__name__的使用实例
2015/04/14 Python
python处理csv数据动态显示曲线实例代码
2018/01/23 Python
11个Python3字典内置方法大全与示例汇总
2019/05/13 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
解决python中导入win32com.client出错的问题
2019/07/26 Python
Python 解析pymysql模块操作数据库的方法
2020/02/18 Python
python属于软件吗
2020/06/18 Python
html5摇一摇代码优化包括DeviceMotionEvent等等
2014/09/01 HTML / CSS
HTML5如何使用SVG的方法示例
2019/01/11 HTML / CSS
巴西葡萄酒销售网站:Wine.com.br
2017/11/07 全球购物
Kiehl’s科颜氏西班牙官方网站:源自美国的植物护肤品牌
2020/02/22 全球购物
课外访万家心得体会
2014/09/03 职场文书
诺贝尔奖获得者名言100句:句句启人心智,值永久收藏
2019/08/09 职场文书
2019年市场部个人述职报告(三篇)
2019/10/23 职场文书
MySQL数据库Innodb 引擎实现mvcc锁
2022/05/06 MySQL
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers
MySQL存储过程及语法详解
2022/08/05 MySQL