Sublime Text 美化 PHP 序列化数据

问题描述 投票:0回答:1

我经常处理序列化的 PHP 数据(wp 开发人员),我想知道是否有人已经弄清楚如何在 ST3 中美化序列化的 php 数据。我希望能够以良好的缩进格式查看序列化的 php 数据,就像我已经可以查看 JSON 和其他序列化数据格式一样。网上有很多工具可以做到这一点,但我想集成到 ST3 中。

有一个 PHP 美化器,我相信它运行 PHP_Beautifier PEAR 包,但它对序列化数据没有任何作用(可能是因为额外的空格会破坏格式)。 我相对幸运地将数据复制到新文件并运行正则表达式替换

/(.*?);(.*?);/$1 : $2,/
,然后从
Format as Javascript
运行
CodeFormatter
。但显然每次都要做很多工作。

我是 ST3 的新手,所以我想了解一下我的最佳选择是什么。有没有解决方案,或者我应该创建一个插件来将字符串发送到在线美化器,或者编写一个宏或其他东西?

干杯

php serialization sublimetext3
1个回答
-2
投票

恐怕 PHP 序列化数据无法格式化(如 JSON 或 XML)

序列化的 PHP 字符串可以包含非常复杂且深层嵌套的细节,非 ASCII 字符串将进行 Base64 编码,并且引用的对象嵌入在序列化的字符串中。让这种潜在复杂的序列化字符串看起来整洁可能很困难。

我想,这个过程的复杂性很高,而且这样一个美化字符串的可用性非常有限,所以没有ST3包来实现这一点。

您可以做的最接近的事情是反序列化数据以供显示,然后在保存文件之前重新序列化。 一个简单的(非 ST3)工具是 https://www.unserialize.com/

为什么要漂亮地打印序列化字符串? (题外话)

我猜你想调试一些东西,并认为漂亮地打印序列化字符串是最快/最简单的解决方案。

简单地

unserialize()
ing +
var_dump()
ing 结果是一个简单的过程,可以为您提供数据的最佳概览。

我知道,这不是OP的问题,但既然你正在阅读本页,你可能想问自己是否真的想要漂亮地打印序列化数据或者你是否只需要调试对象。如果是后者,请使用 https://www.unserialize.com 或类似工具

© www.soinside.com 2019 - 2024. All rights reserved.