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 安装配置方法和问题解决
Jun 08 PHP
解析php addslashes()与addclashes()函数的区别和比较
Jun 24 PHP
thinkphp视图模型查询提示ERR: 1146:Table 'db.pr_order_view' doesn't exist的解决方法
Oct 30 PHP
Yii的CDbCriteria查询条件用法实例
Dec 04 PHP
Laravel 5框架学习之日期,Mutator 和 Scope
Apr 08 PHP
php简单图像创建入门实例
Jun 10 PHP
php文档工具PHP Documentor安装与使用方法
Jan 25 PHP
postfixadmin忘记密码后的修改密码方法详解
Jul 20 PHP
PHP中文字符串截断无乱码解决方法
Oct 10 PHP
详谈php ip2long 出现负数的原因及解决方法
Apr 05 PHP
PHP操作Redis常用技巧总结
Apr 24 PHP
php创建类并调用的实例方法
Sep 25 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
让这部DC动画新作刷新你的认知
2020/03/03 欧美动漫
PHP 超链接 抓取实现代码
2009/06/29 PHP
用php简单实现加减乘除计算器
2014/01/06 PHP
PHP后台微信支付和支付宝支付开发
2017/04/28 PHP
通过百度地图获取公交线路的站点坐标的js代码
2012/05/11 Javascript
完美解决IE低版本不支持call与apply的问题
2013/12/05 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
jquery文档操作wrap()方法实例简述
2015/01/10 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
js实现无缝滚动特效
2015/12/20 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
微信小程序 获取javascript 里的数据
2017/08/17 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
JavaScript实现的DOM绘制柱状图效果示例
2018/08/08 Javascript
使用Vue做一个简单的todo应用的三种方式的示例代码
2018/10/20 Javascript
Vue3.0结合bootstrap创建多页面应用
2019/05/28 Javascript
微信小程序 可搜索的地址选择实现详解
2019/08/28 Javascript
js中Function引用类型常见有用的方法和属性详解
2019/12/11 Javascript
vue-cli打包后本地运行dist文件中的index.html操作
2020/08/12 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
Python程序设计入门(2)变量类型简介
2014/06/16 Python
Python使用中文正则表达式匹配指定中文字符串的方法示例
2017/01/20 Python
python实现自动解数独小程序
2019/01/21 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
纯CSS3实现图片无间断轮播效果
2016/08/25 HTML / CSS
详解css3中dispaly的Grid布局与Flex布局
2020/09/11 HTML / CSS
优秀团队获奖感言
2014/02/19 职场文书
城管大队整治方案
2014/05/06 职场文书
电子商务专业求职信
2014/07/10 职场文书
超市优秀员工获奖感言
2014/08/15 职场文书
2014年内勤工作总结
2014/11/24 职场文书
统计员岗位职责
2015/02/11 职场文书
婚宴父母致辞
2015/07/27 职场文书
Python如何使用logging为Flask增加logid
2021/03/30 Python
PHP连接MSSQL数据库案例,PHPWAMP多个PHP版本连接SQL Server数据库
2021/04/16 PHP
Windows Server 版本 20H2 于 8 月 9 日停止支持,Win10 版本 21H1 将于 12 月结束支
2022/07/23 数码科技