发布网友 发布时间:2022-04-27 05:05
共2个回答
懂视网 时间:2022-04-28 07:32
在之前我们了解的数据通信方式有json和xml,今天给给大家介绍另一个yaml,这里只是简单的介绍,目的是为了对框架源码的解析,所以着重点是在解析源码
?yaml就是一个类似于xml、json数据通信方式,但是yaml是以数据为中心,而非标记语言为重点。
这里提到yaml是因为在框架源码中提到了这个,后边的流程也是需要走yaml,所以还是需要简单的了解一下哈!
安装yaml,直接到pcel里搜索yaml,下载对应的版本即可。下载方式跟之前yaconf安装一样的。
安装成功后就会在PHP中存在这个扩展。
这里需要注意的是需要在php.ini中把yaml扩展文件加进去哈!
如果不会就去Yaconf在window上安装那一栏去看是怎么安装的,安装那个流程就可以了。
安装完成后就是简单的使用了,在config中新建一个kaka.yaml文件。
并且写上如下的内容,切记在yaml中冒号后边需要空一格,yaml写法就不过多说了,毕竟平时不怎么用。
这里说明只是为了阅读框架代码而做的工作。
测试yaml数据读取
读取出来的数据就是一个数组,也就是说把yaml格式的数据转化为数组形式。
这个方法是从哪里知道的呢!
还记得在config类下loadFile方法中,根据文件扩展的不同加载不同形式的方法。
PHP类型的直接就走了set,yaml类型的把数据处理为数组后执行set方法
如果是其它类型的话就会在上边说的工厂模式返回对应类名的实例,并执行对应类里边的方法将格式都转化为数组形式。最终还是使用set方法
其它类型的配置文件最终都会走到set方法里边。
以上就是框架中使用工厂模式去加载不同类型的配置文件所做的工作。
?坚持学习、坚持写博、坚持分享是咔咔从业以来一直所秉持的信念。希望在偌大互联网中咔咔的文章能带给你一丝丝帮助。我是咔咔,下期见。
?热心网友 时间:2022-04-28 04:40
在小说《拜金女的恋爱方程式》中,YAML 是You are my love 的缩写。 来自YAML官方网站 ( http://www.yaml.org/ ) 的定义: YAML是一种直观的能够被电脑识别的的数据数据序列化格式,他并且容易被人类阅读,容易和脚本语言交互的。换种说法,YAML是一种很简单的类似于XML的数据描述语言,语法比XML简单很多。他在描述能够被转化成数组或hash的数据是很有用,例如: house: family: name: Doe parents: - John - Jane children: - Paul - Mark - Simone address: number: 34 street: Main Street city: Nowheretown zipcode: 12345 解析这个YAML将会自动创建下面的PHP数组: $house = array( 'family' => array( 'name' => 'Doe', 'parents' => array('John', 'Jane'), 'children' => array('Paul', 'Mark', 'Simone') ), 'address' => array( 'number' => 34, 'street' => 'Main Street', 'city' => 'Nowheretown', 'zipcode' => '12345' ) ); 在YAML里面,结构通过缩进来表示,连续的项目通过减号"-"来表示,map结构里面的key/value对用冒号":"来分隔。YAML也有用来描述好几行相同结构的数据的缩写语法,数组用'[]'包括起来,hash用'{}'来包括。因此,前面的这个YAML能够缩写成这样: house: family: { name: Doe, parents: [John, Jane], children: [Paul, Mark, Simone] } address: { number: 34, street: Main Street, city: Nowheretown, zipcode: 12345 } YAML是"YAML Ain't Markup Language(YAML不是一种标记语言)"的缩写。这种格式大约是2001年出现的,现在为止已有多种语言的YAML解析器。 提示YAML格式的周详规格能够在YAML官方网站 http://www.yaml.org/ 找到。