小衲做dedecms二次开发的时候经常用sublime,今天才发现sublime这个软件格式化php代码的功能很糟糕。比如
<?php
$typeOptions = GetOptionList($arcRow["typeid"],$cuserLogin->getUserChannel(),$channelid);
echo "<select name='typeid' id='typeid' style='width:240px'>\r\n";
if($arcRow["typeid"]=="0") echo "<option value='0' selected>请选择主分类...</option>\r\n";
echo $typeOptions;
echo "</select>";
?>
这段代码会被sublime格式化成如下代码
<?php
$typeOptions = GetOptionList($arcRow["typeid"],$cuserLogin->
getUserChannel(),$channelid);
echo "
<select name='typeid' id='typeid' style='width:240px'>
\r\n";
if($arcRow["typeid"]=="0") echo "
<option value='0' selected>请选择主分类...</option>
\r\n";
echo $typeOptions;
echo "
</select>
";
?>
结果造成dedecms出现“你所选择的栏目与当前模型不相符,请选择白色的选项!”的错误。探索了好长时间才找到这个答案。
我发现Dreamweaver和phpDesigner格式化php代码就不会有这样的问题。看来做网页开发还得首选Dreamweaver,省时省心。sublime用来写写js、css和纯htm还是可以的,php就算了。