Skip to content

Instantly share code, notes, and snippets.

@jakubkulhan
Created January 21, 2010 21:27
Show Gist options
  • Save jakubkulhan/283218 to your computer and use it in GitHub Desktop.
Save jakubkulhan/283218 to your computer and use it in GitHub Desktop.
<?php
/*
* Hledá se způsob, jak elegantně přepsat PHP kód níže pomocí vyjadřovacích
* schopností jiného šablonovacího jazyka, který pro daná data (pole $seznam)
* vyplivne stejný výsledek (včetně zachování formátování bílých znaků; hlavně
* co se týče věcí v závorce).
*/
$seznam = array(
(object) array('id' => 0, 'nazev' => 'Foo', 'vymazat' => FALSE, 'upravit' => FALSE),
(object) array('id' => 1, 'nazev' => 'FooBar', 'vymazat' => FALSE, 'upravit' => TRUE),
(object) array('id' => 2, 'nazev' => 'Bar', 'vymazat' => TRUE, 'upravit' => FALSE),
(object) array('id' => 3, 'nazev' => 'BarFoo', 'vymazat' => TRUE, 'upravit' => TRUE),
);
?>
<ul>
<?php foreach ($seznam as $polozka) { ?>
<li><a href="/zobrazit?id=<?php echo $polozka->id; ?>"><?php echo $polozka->nazev; ?></a><?php
if ($polozka->vymazat || $polozka->upravit) { ?> (<?php
if ($polozka->vymazat) {
?><a href="/vymazat?id=<?php echo $polozka->id; ?>">vymazat</a><?php }
if ($polozka->upravit) { if ($polozka->vymazat) { ?>, <?php }
?><a href="/upravit?id=<?php echo $polozka->id; ?>">upravit</a><?php }
?>)<?php } ?></li>
<?php } ?></ul>
<?php
/*
* Očekávaný výstup:
* <ul>
* <li><a href="/zobrazit?id=0">Foo</a></li>
* <li><a href="/zobrazit?id=1">FooBar</a> (<a href="/upravit?id=1">upravit</a>)</li>
* <li><a href="/zobrazit?id=2">Bar</a> (<a href="/vymazat?id=2">vymazat</a>)</li>
* <li><a href="/zobrazit?id=3">BarFoo</a> (<a href="/vymazat?id=3">vymazat</a>, <a href="/upravit?id=3">upravit</a>)</li>
* </ul>
*/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment