Autor | Zpráva | ||
---|---|---|---|
lukigod Profil |
#1 · Zasláno: 4. 11. 2009, 14:42:04
Zdravím, mám takový dotaz, jestli existuje nějaký postup jak psát kód php v html. Jde mi o to co je logičtější, přehlednější, rychlejší. Hledal jsem nějaké diskuze, ale většinou se všude píše spíše o odřádkování, tabulátory a tak. Asi dám rovnou příklad dvou zápisů. Který Vám přijde srozumitelnější nebo správněji zapsaný. Jestli značky html echovat nebo přerušovat php kód - obzvláště u cyklů. Např:
Kód 1: <div <?php if(!empty($_POST["text_hledat"])) echo "class='skryte'"?>> <?php otevriDatabazi(); $sql = mysql_query("SELECT `nazev`, `id` FROM `zakaznik` ORDER BY `id` DESC LIMIT 3"); ?> <dl>Poslední přidaní zákazníci: <?php while($last_zakaznik = mysql_fetch_array($sql)) { ?> <dt><?php echo "ID zákazníka: ".$last_zakaznik["id"];?></dt> <dd><a href="#"><?php echo $last_zakaznik["nazev"];?></a></dd> <?php }; ?> </dl> </div> Kód 2: <div <?php if(!empty($_POST["text_hledat"])) echo "class='skryte'"?>> <?php otevriDatabazi(); $sql = mysql_query("SELECT `nazev`, `id` FROM `zakaznik` ORDER BY `id` DESC LIMIT 3"); echo "<dl>Poslední přidaní zákazníci:\n"; while($last_zakaznik = mysql_fetch_array($sql)) { echo "<dt>ID zákazníka: ".$last_zakaznik["id"]."</dt>\n"; echo "<dd><a href='#'>".$last_zakaznik["nazev"]."</a></dd>\n"; }; echo "</dl>\n"; ?> </div> no. zdá se být druhý kód kratší ale zas v PSpadu nevidím html značky.. tak nevim |
||
Zool Profil * |
#2 · Zasláno: 4. 11. 2009, 14:49:02
Kod 1 je určitě pro mě více prehlednější, protože používámý editor mi barevně hlavně rozděluje html kod u php kudu je to omezené. Avšak zkus si něco pročíst o šablonách, tím úplně oddělíš html a php kod a je to dost přehledné
|
||
Joker Profil |
#3 · Zasláno: 4. 11. 2009, 15:02:11
lukigod:
Já už si zvykl na používání šablon, je to asi nejpřehlednější. Pro můj JoresTemplate by ten kód šablony vypadal asi takhle: <div class="{HLEDAT_CLASS}"> <dl>Poslední přidaní zákazníci: <!-- JTPL: START BLOCK: blok_uzivatele --> <dt>ID zákazníka: {ZAK_ID}</dt> <dd><a href="#">{ZAK_NAZEV}</a></dd> <!-- JTPL: END BLOCK: blok_uzivatele --> </dl> </div> |
||
lukigod Profil |
#4 · Zasláno: 5. 11. 2009, 07:56:07
díky za odpovědi. preferuju taky spíše ten první zápis. Šablony vypadají zajímavě, ale asi jsou trochu složitější. Takže do nich asi zatím nepůjdu. Možná časem.. Každopádně díky budu studovat :o)
|
||
Majkl578 Profil |
#5 · Zasláno: 5. 11. 2009, 10:28:22
Joker:
LatteFilter frameworku Nette by umožnil třeba toto: <div class="trida"> <dl>Poslední přidaní zákazníci: {foreach $customers as $customer} <dt>ID zákazníka: {$customer->id}</dt> <dd><a href="#">{$customer->nazev}</a></dd> {/foreach} </dl> </div> Nebo toto: <div class="trida"> <dl n:inner-foreach="$customers as $customer"> {if $iterator->isFirst()}Poslední přidaní zákazníci:{/if} <dt>ID zákazníka: {$customer->id}</dt> <dd><a href="#">{$customer->nazev}</a></dd> </dl> </div> Použit je samozřejmě vzor MVP, tudíž data nejsou tahána z databáze přímo do šablony, ale přes presenter šabloně přiřazena. To jen tak pro nastínění moderního programování... ;) |
||
Joker Profil |
#6 · Zasláno: 5. 11. 2009, 10:29:56
Majkl578:
Jasně, šablonovacích systémů jsou tuny, principy jsou podobné, jen syntaxe je jiná. Já si prostě vybral ten, který znám nejlíp :) |
||
Majkl578 Profil |
#7 · Zasláno: 5. 11. 2009, 10:33:29
Joker:
Přesně to jsem udělal také... (V Nette programuji) ;) Důležité podotknout, že tento framework má vlastní šablonovací jazyk, aby náhodou někdo nehledal souvislosti s jinými, např. Smarty... :) |
||
Časová prodleva: 15 let
|
0