我目前在使用跨多行的自动缩进PHP数组时遇到困难。标准TextFX> TextFX编辑> Reindent C ++ Code在这里失败了。
例如,请使用以下代码段:
<?php
$something = array(
"test" => $var,
"nested" => array(
"subnest" = array(
"low" => "yes",
"foo" => "bar",
),
"bar" => "baz",
),
"last" => "yes",
);
运行“Reindent C ++ Code”并获取:
<?php
$something = array(
"test" => $var,
"nested" => array(
"subnest" = array(
"low" => "yes",
"foo" => "bar",
),
"bar" => "baz",
),
"last" => "yes",
);
不是我真正想要的。
我是否缺少任何可以在Notepad ++中正确缩进PHP数组的工具或插件?
答案 0 :(得分:1)
不幸的是,仍然(在撰写本文时)Notepad ++不支持除大括号{}
块之外的任何代码缩进格式,PHP和大多数其他语言它支持。
switch
是另一个:
switch ($value) {
case 1:
foo();
break;
case 2:
bar();
break;
case 3:
qux();
break;
}
变为:
switch ($value) {
case 1:
foo();
break;
case 2:
bar();
break;
case 3:
qux();
break;
}
我发现的解决方案(至少使用PHP )是使用花括号进行格式化,因为它们在语法上有效,但不会更改程序结构:
switch ($value) {
case 1: {
foo();
break;
}
case 2: {
bar();
break;
}
case 3: {
qux();
break;
}
}
这有额外的好处,允许您对脚本的任意块进行代码折叠。
不幸的是,正如您所发现的那样,格式化程序无法识别方括号[]
和方括号()
,并且数组不会是大括号包装的语法有效案例。
答案简短;对不起,我也尝试了很多,你需要找/写一个插件(我没有;我只是和它一起生活)
答案 1 :(得分:0)
您的代码中存在错误 - 可能导致错误。 Netbeans向我展示了这个错误,然后我修复了它。
尝试更改此行:
"nested" = array(
到
"nested" => array(
并了解Notepad ++如何处理它。
我使用了netbeans,即使我在另一个应用程序中编写,我也会将其复制并粘贴到netbeans上以便整理它。
Netbeans回归:
<?php
$something = array(
"test" => $var,
"nested" => array(
"subnest" => array(
"low" => "yes",
"foo" => "bar",
), "bar" => "baz",),
"last" => "yes",
);
?>