php yaml扩展,php的扩展 - yaml
今天查看php扩展库时(http://pecl.php.net/package-s...),看到有个叫yaml的扩展位列榜首,竟有2000多万下载数,这么牛逼的东西我咋没听说过那?既然孤陋寡闻了,那就赶紧学习学习吧。
什么是yaml?
YAML 是专门用来写配置文件的语言,非常简洁和强大,远比 JSON 格式方便,其主要功能用途类似于XML或JSON。
YAML参考了其他多种语言,包括:XML、C语言、Python、Perl以及电子邮件格式RFC2822。
由于实现简单,解析成本很低,YAML特别适合在脚本语言中使用。列一下现有的语言实现:Ruby,Java,Perl,Python,PHP,OCaml,JavaScript,除了Java,其他都是脚本语言,移植性非常强。
YAML的设计目的:
1、容易人类阅读
2、适合表示程序语言的数据结构
3、可用于不同程序间交换数据
4、支持泛型工具
5、支持串行处理
6、丰富的表达能力和可扩展性
7、易于使用
php 中使用yaml,需要安装php-yaml扩展,安装步骤我就不在这里赘述了。
安装成功后,使用phpinfo()探针查看是否安装成功
使用示例:
$company = array(
'name' => '51Talk',
'type' => 'English train',
'teacherNum' => 8000
);
// 生成yaml格式
$yamlData = yaml_emit($company);
var_dump($yamlData);
/* 输出的yaml数据格式:
string(58) "---
name: 51Talk
type: English train
teacherNum: 8000
...
"
*/
// 转换成php变量
$parsed = yaml_parse($yamlData);
// yaml格式数据转换回php变量是否相等
var_dump($parsed == $company); // bool(true)
?>
就像json替代xml一样,未来yaml有可能会替代json哦,还没研究的你,赶紧研究研究吧。
关注我的公众号,长期有干货
php yaml扩展,php的扩展 - yaml相关推荐
- 扩展你的Kubernetes集群:理解水平扩展与垂直扩展
这扩展你的Kubernetes集群:理解水平扩展与垂直扩展 一.前言 1.1 什么是 Kubernetes 1.2 扩展集群规模的必要性 二.集群规模扩展概述 2.1 水平扩展 vs 垂直扩展 2.2 ...
- 【Groovy】Groovy 扩展方法 ( 扩展静态方法示例 | 扩展实例方法示例 | 扩展实例方法与扩展静态方法代码相同 )
文章目录 一.扩展静态方法示例 二.扩展实例方法示例 三.扩展实例方法与扩展静态方法代码相同 一.扩展静态方法示例 在上一篇博客 [Groovy]Groovy 扩展方法 ( Groovy 扩展方法引入 ...
- 【Groovy】Groovy 扩展方法 ( Groovy 扩展方法引入 | 分析 Groovy 中 Thread 类的 start 扩展方法 )
文章目录 一.Groovy 扩展方法引入 二. 分析 Groovy 中 Thread 类的 start 扩展方法 一.Groovy 扩展方法引入 Groovy 可以对 JDK 中的一些类进行 方法扩展 ...
- 【Google Play】APK 扩展包 ( 2021年09月02日最新处理方案 | 扩展文件名格式 | 扩展文件下载存放地址 )
文章目录 前言 一.当前 Google Play 上传 APK 文件现状 二.APK 扩展文件名格式 三.APK 扩展文件下载地址 四.博客资源 前言 2021年08月01日 之后 , Google ...
- 【Kotlin】扩展属性 ( 扩展变量属性 | 扩展常量属性 | 注意事项 | 本质分析 )
文章目录 I . 扩展属性 总结 II . 扩展属性 定义格式 III . 扩展属性 标准示例 IV . 扩展属性 注意事项 V . 扩展属性 本质分析 VI . 扩展属性 代码示例解析 I . 扩展 ...
- IPv6扩展头部 (一) 扩展头部格式、类型与扩展选项
之前几篇博客介绍了IPv6的扩展头部,包括分片头部和路由头部.接下来介绍一下IPv6扩展头部以及扩展选项的内容,可能会有这样的疑问,有了扩展头部怎么还需要扩展选项?扩展选项是干嘛用的?本篇博客就介绍相 ...
- ubuntu所有php扩展php-7.0扩展列表
ubuntu所有php扩展php-7.0扩展列表 sudo apt-get install php7.0-bcmath sudo apt-get install php7.0-bz2 sudo apt ...
- 存储器容量扩展——位扩展、字扩展
存储器(二)--存储容量扩展 前言:(基本概念) 存储空间:CPU决定 存储器:用户需求决定(4G,8G)(8G的存储器1各芯片能否完成用户需求?如果不能完成,存储器由若干个芯片组成) 存储芯片:芯片 ...
- java的整数扩展,浮点数扩展,字符扩展,转义字符,布尔值扩展
java的整数扩展,浮点数扩展,字符扩展,转义字符,布尔值扩展 public static void main(String[] args) {//整数扩展 进制 二进制0b 十进制 八进制0 十六进 ...
最新文章
- Deformable ConvNets--Part2: Spatial Transfomer Networks(STN)
- 修改文件的所属用户和所属用户组
- 小波变换 完美通俗讲解 之 二
- CodeDay#7 启动 | 北京欢迎你
- 我是如何用Jquery实现网页缩小放大的
- linux磁盘管理的命令行,Linux磁盘管理命令介绍
- python中pickle模块_Python pickle模块的用法
- 八年数据库之路的感悟
- 【报告分享】2021年00后生活方式洞察报告.pdf(附下载链接)
- 【Excel】数据的排序、筛选和分类汇总
- 使用多线程实现多客户端的连接(通过Socket实现TCP编程)
- jar包是干什么用的
- VC的静态链接库 动态链接库
- 运筹学基础【八】 之 图论方法
- ssh authentication魔鬼细节--.ssh文件夹权限
- 线上Mysql数据库崩溃事故的原因和处理
- 基于matlab的对称振子天线分析,基于Matlab的对称振子天线分析
- amd一键超频怎么用_老锅教你超频-AMD处理器篇
- VS编译错误C4996	'scanf': This function or variable may be unsafe.
- 丝绸之路翻译软件测试,域渗透测试指南之GPO和OU详解(下)
热门文章
- java 数据结构实例_数据结构(Java)——栈的实例
- mysql row 转int_mysql_row[]取值转换有关问题,
- 高会的计算机模块,2017高会《职称计算机》模块精讲:写字板和便笺
- php屏幕抓取,PHP抓屏函数实现屏幕快照代码分享
- Spring Boot + MDC 实现全链路调用日志跟踪
- Log4j2又爆雷!2.16.0存在DOS攻击风险,升级到2.17.0可解决!
- RateLimiter 的底层实现是啥?
- 新年新气象,该换一波壁纸了!
- 文件上传的单元测试怎么写?
- 详解模板注入漏洞(下)