-
-
Save gavinblair/441083 to your computer and use it in GitHub Desktop.
<?php foreach($pages as $page) { ?> | |
<div id="<?php echo $page['slug']; ?>" <?php echo $user->uid && $_GET['t'] == $page['slug'] ? "class='current setcurrent'" : ""; ?>> | |
<div class="toolbar"> | |
<h1><?php echo $page['section']; ?></h1> | |
<?php if(isset($page['parent'])) { ?> | |
<a href="?t=<?php echo $page['parent']; ?>" class="parent">Back</a> | |
<?php } else { ?> | |
<a id="logout" href="/logout" class="button">Logout</a> | |
<?php } ?> | |
</div> | |
<h2><?php echo $page['title']; ?></h2> | |
<?php if(isset($page['content'])) { ?> | |
<?php if(is_array($page['content'])) { ?> | |
<ul> | |
<?php foreach($page['content'] as $content) { ?> | |
<?php if(is_array($content)) { ?> | |
<li <?php echo isset($content['href']) ? "class='arrow'" : ""; ?>> | |
<?php echo isset($content['href']) ? "<a " : "<span "; ?> | |
<?php foreach($content as $key => $item) { if($key != "text") { ?> | |
<?php echo "$key='$item'"; ?> | |
<?php }} ?> | |
><?php echo $content['text']; ?> | |
<?php echo isset($content['href']) ? "</a>" : "</span>"; ?> | |
</li> | |
<?php } else { ?> | |
<li><?php echo $content; ?></li> | |
<?php } ?> | |
<?php } ?> | |
</ul> | |
<?php } else { ?> | |
<p><?php echo $page['content']; ?></p> | |
<?php } ?> | |
<?php } ?> | |
<?php if(isset($page['links'])) { ?> | |
<ul> | |
<?php foreach($page['links'] as $link) { ?> | |
<li><a href="?t=<?php echo $link['slug']; ?>"><?php echo $link['title']; ?></a></li> | |
<?php } ?> | |
</ul> | |
<?php } ?> | |
</div> | |
<?php } ?> |
<?php | |
foreach($pages as $page) { | |
echo "<div id='{$page['slug']}' "; | |
echo $user->uid && $_GET['t'] == $page['slug'] ? "class='current setcurrent'>" : ">"; | |
echo "<div class='toolbar'><h1>{$page['section']}</h1>"; | |
if(isset($page['parent'])) { | |
echo "<a href='?t={$page['parent']}' class='parent'>Back</a>"; | |
} else { | |
echo "<a id='logout' href='/logout' class='button'>Logout</a>"; | |
} | |
echo "</div>"; | |
echo "<h2>{$page['title']}</h2>"; | |
if(isset($page['content'])) { | |
if(is_array($page['content'])) { | |
echo "<ul>"; | |
foreach($page['content'] as $content) { | |
if(is_array($content)) { | |
echo "<li "; | |
echo isset($content['href']) ? "class='arrow'><a " : "><span "; | |
foreach($content as $key => $item) { | |
if($key != "text") { | |
echo "$key='$item'"; | |
} | |
} | |
echo ">{$content['text']}"; | |
echo isset($content['href']) ? "</a>" : "</span>"; | |
echo "</li>"; | |
} else { | |
echo "<li>$content</li>"; | |
} | |
} | |
echo "</ul>"; | |
} else { | |
echo "<p>{$page['content']}</p>"; | |
} | |
} | |
if(isset($page['links'])) { | |
echo "<ul>"; | |
foreach($page['links'] as $link) { | |
echo "<li><a href='?t={$link['slug']}'>{$link['title']}</a></li>"; | |
} | |
echo "</ul>"; | |
} | |
echo "</div>"; | |
} | |
?> |
Option 2 has fewer characters yes, but you sacrifice any bracket matching / syntax help from your editor... you will inevitably end up with messed up html that will be a pain to fix (especially for someone who is just joining in the project. I find that this really hurts me when I have to use smarty... (question: where does this if statement end? the answer: 4 full pages of text down, I think?)
Personally (you probably already know what is coming) I would make a third option that wraps up some common html elements like links, but if you aren't going to do that, I prefer Option 1 for readability and debugability...
Also I think your usage of the ternary operator, while it does keep the character count down, hurts the readability quite a bit (and you are using ' instead of " for your html attributes! My eyes!!!).
Which is more readable? Keep in mind: this is for a view file.
Indents are nicer in Option 1, but lots of redundant PHP tags, while Option 2 has way fewer characters.