如果这只是一个静态网站,我会有四个链接
<li><a href="javascript:void(0)">Action 1</a></li>
<li><a href="javascript:void(0)">Action 2</a></li>
<li><a href="javascript:void(0)">Action 3</a></li>
<li><a href="javascript:void(0)">Action 4</a></li>
但在这种情况下,链接需要执行不同的回调、输出消息和操作,具体取决于点击者。现在,由于所有这些复杂性,我的页面非常混乱。我的代码是这样的;
<?php
foreach ($var as $key) {
?>
<div class="content">
<li><a href="javascript:void(0)">Action 1</a></li>
<li><a href="javascript:void(0)">Action 2</a></li>
<?php
if(session check){
$var1 = the ouptut of some function
$var2 = the output of another function
if(another check) {
?>
<li><a href="javascript:void(0)">Action 3 type 1</a></li>
<?php
} else{
if($var1 === something){
?>
<li><a href="javascript:void(0)" onClick="somefunc()">Action 3 type 2</a></li>
<?php
}
else {
?>
<li><a href="javascript:void(0)" class ="colorlink" onClick="somefunc()">Action 3 type 3</a></li>
<?php
}
}
/* we are done with action 3 and now moving to action 4. Nb: still in the same session check */
if($var2 == something){
?>
<li><a href="javascript:void(0)" onClick="somefunc()">Action 4 type 1</a></li>
<?php
}else{
?>
<li><a href="javascript:void(0)" style ="colorit"onClick="somefunc()">Action 4 type 2</a></li>
<?php
}
/* Now thats the end of everthing in the session check */
/* This else is for session not active */
} else{
<li><a href="javascript:void(0)">Action 3</a></li>
<li><a href="javascript:void(0)">Action 4</a></li>
}
?>
我真的很抱歉缩进有多糟糕,我真的不知道如何缩进。我想知道是否有更好的方法来重构代码,当它被正确缩进时它看起来并没有那么糟糕。我知道的选项是,首先,我将所有内容都包裹在一个 php 标记中并回显出 html,但问题是,所有下一个 if 语句看起来仍然很糟糕。
第二个选项是 if:,else:,endif; 构造,但这并没有使它变得更好。这就是我需要你聪明才智的地方,我还能如何重组这段代码?