php 代码长格式化扩展PHP中用来解析和转换YAML格式的扩展格式php 代码加密 扩展
2021-11-30
老实说,我很少使用 YAML。在学习自动化测试相关内容的时候,接触过使用这个配置文件配置CI的持续集成操作。当然,当时主要是学习。虽然接触的不多,但我也知道,这种配置格式的写法现在已经基本成为主流了。所以这里就不多解释具体的yaml相关内容了,不太熟悉的同学可以自行查阅一些相关文档。
我们今天学习的主要是PHP中用于解析和转换YAML格式的扩展。安装过程没有什么特别的,就跟其他扩展一样安装就行了。但是这个扩展需要一个-,不能直接通过yum或者dnf安装,下载地址可以在文末链接中找到。
将 PHP 数据转换为 YAML
将PHP数据转化为YAML,其实和JSON相关的操作类似,将一个数组转化为YAML格式的字符串。
$addr = ("" => "",""=> "",""=> (""=> "458 Dr. #292","city"=> "Oak",""=> "MI ",""=> ,),$ = (""=> ,"date"=> ,"bill-to"=> $addr,"ship-to"=> $addr,""=> ((" sku"=> "",""=> 4,""=> "篮球",""=> 450,),("sku"=> "",""=> 1,""=> "篮球",""=> 2392,),),"tax"=> 251.42,""=> 4443.52,""=> "迟到最好。
是@ 338-4338。",$ = ($);($);// (624) "---//: // date: // bill-to://: //: //://: |-// 458 Dr.// #292// 城市:橡树//:MI//:// 运送到://://://://:|-// 458 博士// #292//城市:橡树//:MI//://://-sku://:4//:“\\”//:450//-sku://:1//:箍//: 2392// tax: 251. 42//: 4443. 52//: 迟到是最好的。是@ 338-4338。// "
可以看到()函数转换的结果是非常标准的YAML格式。有 --- 在开始和......在结束。但是你会发现.yml文件中有很多教程或者框架是没有这些符号的。根据官方文档,这些符号是推荐写的,我们的扩展非常遵循推荐,这就是转换的结果。很标准。
此外,我们在测试代码中添加了中文内容。可以看到在直接转换时对中文进行了编码。就像JSON操作一样,在YAML的扩展功能中,我们也可以指定编码格式php 代码长格式化扩展,原样显示中文。
(($, ));// (616) "---//: 篮球 // ... // "将 YAML 转换为 PHP 数组
没错,它类似于JSON操作微信公众号开发网站开发,将YAML格式的字符串格式内容逆向为PHP数据内容。
(($));// (8) {// [""]=>// int()// ["date"]=>// int()// ["bill-to" ]=>// (3) {// [""]=>// (5) ""// [""]=>// (6) ""// ………………
还有一个很简单的()函数。除了直接操作字符串之外php 代码长格式化扩展,我们还可以直接提取文件内容进行转换,包括上面的()函数,也将结果直接写入文件。
(('.yml'));// (3) {// ["php"]=>// (3) {// [""]=>// (7) ""// [""]=>// (1) {// (10) ""// [""]=>// (1) {// / ["not-name"]=>// (2) {// (9) ".php"// (10) ".php"// }// [ "js"]=>// (1) {// [""]=>// (1) {// ["not-name"]=>// (1)@ > {// (14) ".mix.js"// }// ["css"]=>// bool(true)
我们测试的文件是它附带的 .yml 文件。该框架不需要我们安装这个 YAML 扩展。看来框架本身就有工具可以解决读取和转换YAML格式的问题,这个我们最后再说。与()类似,()直接将PHP数据转成YAML格式,直接写入文件。你可以自己测试一下。
回调函数处理标签
() 和 () 都支持回调参数操作。我们先来看一个例子。
// php://:! // :// ……………… ($){ ('','new', $);$ = 0;(('.yml', 0, $, [ '!'=>''] ));// (3) {// ["php"]=>// (3) {// [""]=>// (2 0) "new " // [""]=>// (1) {// ……………………
这是什么意思?!这种写法可以看作是YAML中的一种标签格式。这个回调的作用就是遇到这种类型的类似标签时,使用什么回调函数来处理。例如,在我们的原始文档中!以下内容为。在回调函数中,我们将内容替换为new,所以最终的输出是字段的内容变成了新的。当然,更详细的内容和更多的语法还是需要我们对YAML格式的语法有更清晰的理解,这里就不多说了,毕竟接触的不多。
总结
这个扩展的内容不多,就算是需要在实际业务环境中操作的YAML格式的配置文件,估计我也不会用。为什么?当然是因为已经有很多处理YAML的组件供我们使用了。无需通过扩展编译安装的方式改变服务器上的PHP环境。自己用的话,可以在里面找到很多组件,如果用的话,底层其实就是框架中的yaml处理组件。您可以直接使用 /yaml 将此组件添加到您自己的小项目中。具体内容可以参考这个文档:
测试代码:
学习PHP中YAML操作扩展的使用。
参考文件:
(x86-64)