Autor Zpráva
peta
Profil *
Co je rychlejsi pro vkladani?
- pouzit "smarty"?
- pouzit "vice tagu <?= ?>"
- obsah si ulozim do nejake velike "1 promenne", kterou vypisi
1 tagem <?= ?>
- vkladat "z vice souboru" pomoci include, require?

Chystam se delat program, kde budu mit nejake opakujici hlavicky, chci to mit jazyk-skin, css-skin a takove ty veci, jako by mel mit kazdy slusny program.

Jaky je nejvhodnejsi zpusob?

Mi osobne se jevi jako nej pouzit bud 1 promennou s tim, ze jazyk vkladam z vnejsiho souboru. Ale bych vahal, drzet v pameti velkou promennou, a pracovat s ni, no nevim, nevim...
Nelibi se mi varianta "vice tagu <?= ?>", s tim jazykem se mi to jevi, ze by to mohlo byt dosti pomale.
Nelibi se mi varianta se smarty, pripadne + vice tagu, to uz bych videl jako extra pomale.
Mate nejakou dobrou odzkousenou variantu, ktera by chodila i na free-hostingu?
Hugo
Profil
IMHO je nejrychlejší vypisování php do html, ale záleží na situaci. Pokud budeš hodně tahat z db, tak tohle nemá cenu řešit. Můžes si udělat zkušební skripty a otestovat to na nějakém generátoru zátěže (např. AB).
Honza Široký
Profil
Teoreticky je podle mě nejrychlejší vypisování pomocí <?=, spojování do jedné velké proměnné je pomallejší. Jako nejlepší však považuju smarty nebo nějaký jiný šablonovací systém. Ten je rychlej dost, protože se šablony kompilují do php kódu, který už běží rychle. A hlavní výhoda je oddělení aplikační a prezentační vrstvy. Bejt tebou beru smarty.
peta
Profil *
Honza Široký
Mi je to celkem jedno, jestli je sablona v PHP nebo v HTML-smarty. U PHP dam proste jako prvni 2 radky vytahni radek do pole a pak uz je to <?=...?>, ktere se nemeni.
A cely ten vytahovaci script z DB tam naincluduji pres 1 radek, takze to temer vypada jako html.

Ale smarty povazuji za celkem elegantni, tak mne zajimalo, jak to delaji. Takze rikas, ze to stejne prevadeji cele na htm, to je fajn.
Mno, jenze jsem ted pridaval jazyk do FAF hry a vypadalo to tak, ze do jakesi promenne TPL sem prepisoval obsah pole lang.
raci ukazu...
--------
- soubor lang.php -
$lng = array(
'menuMail' =>array("Posta" ,"Mail" ),
...
);
- soubor mail.php -
$l=0;
$tpl->assign('lng_menuMail', $lng['menuMail'][$l]);
- soubor mail.htm -
{$lng_menuMail1}
--------
3x to same, to uz mi tak elegantni neprislo
Hm?
Nebo to lze zapsat nejak sikovneji? Ja teda se smarty jako nedelam, to jen ta hra to mela, tak sem se prizpusobil. Ale nakonec to pisi cele od znova. Se mi nechtelo pracne dohledavat kousicky programu...
luka
Profil *
smarty az nad 10000riadkov, dovtedy neriehladne.Musis si sam zvolit sposob ktory tebe a tvojmu projektu vyhovuje najviac.Vzdy je to individualne.Len sa vyhybaj vypisovaniu html v php.Skus objekty.
peta
Profil *
Na ukazku bych mel 1 demo stranku, tak stredni velikost. Hodnoty status si nevsimejte, cisla neplati.
Je to na smarty?

<?
error_reporting(E_ALL ^ E_NOTICE);
require("a-lang.php");$l=0;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html><head>
<title>pp</title>
<meta http-equiv="Content-language" content="cs" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>

<div class="logo">aaa</div>

<center class="menu1">
<hr />
<b>[</b><a href="html.htm">aaa<?=$lng['menuMail'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm">bbb<?=$lng['menuForum'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm">ccc<?=$lng['menuMain'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm">ddd<?=$lng['menuNews'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm">ddd<?=$lng['menuLand'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm">ddd<?=$lng['menuBuild'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm">ddd<?=$lng['menuWork'][$l]?></a><b>]</b>
<hr />
</center>

<div class="menu2">
<b>:</b> <a href="html.htm" class="sel">111<?=$lng['menu_Main'][$l]?></a>
<b>:</b> <a href="html.htm">222<?=$lng['menu_Main'][$l]?></a>
<b>:</b> <a href="html.htm">333<?=$lng['menu_Main'][$l]?></a>
<b>:</b>
</div>



<div class="telo1"><div class="telo2"><div class="telo2a">
<h2>┌vodnÝ strßnka</h2>
<div class="telo3">



'iPeoples' =>array("Lide" ,"Peoples" ),
'iUnemployed' =>array("Nepracuje" ,"Unemployed" ),
'iWorking' =>array("Pracuje" ,"Working" ),
'iMagic' =>array("Magie" ,"Magic" ),
'iThieves' =>array("Zlodeji" ,"Thieves" ),
'iArmy' =>array("Armada" ,"Army" ),

<table>
<tr><td><?=$lng['iAcres' ][$l]?></td><?=$status[0]?></td></tr>
<tr><td><?=$lng['iStore' ][$l]?></td><?=$status[1]?></td></tr>
<tr><td><?=$lng['iGold' ][$l]?></td><?=$status[2]?></td></tr>
<tr><td><?=$lng['iFood' ][$l]?></td><?=$status[3]?></td></tr>
<tr><td><?=$lng['iRawMat' ][$l]?></td><?=$status[4]?></td></tr>
<tr><td><?=$lng['iOre' ][$l]?></td><?=$status[5]?></td></tr>
<tr><td><?=$lng['iMana' ][$l]?></td><?=$status[6]?></td></tr>
<tr><td><?=$lng['iBricks' ][$l]?></td><?=$status[7]?></td></tr>
<tr><td><?=$lng['iWeapons'][$l]?></td><?=$status[8]?></td></tr>
</table>





</div></div></div></div>
<div class="logo2 cl">a </div>
</div></div>

<div class="logo2"><hr />&copy; 2005 Peter Mlich</div>

</body></html>
peta
Profil *
kusuj, samozrejme spatnou...

<?
error_reporting(E_ALL ^ E_NOTICE);
require("a-lang.php");$l=0;
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html><head>
<title>pp</title>
<meta http-equiv="Content-language" content="cs" />
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<link rel="stylesheet" href="style.css" type="text/css" />
</head>
<body>

<div class="logo">aaa</div>

<center class="menu1">
<hr />
<b>[</b><a href="html.htm"><?=$lng['menuMail'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuForum'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuMain'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuNews'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuLand'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuBuild'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuWork'][$l]?></a><b>]</b>
<br />
<b>[</b><a href="html.htm"><?=$lng['menuStat'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuHelp'][$l]?></a><b>]</b>
<b>[</b><a href="html.htm"><?=$lng['menuLogout'][$l]?></a><b>]</b>
<br />
<b>[</b><a href="html.htm" class="nextTurn"><?=$lng['menuNextTurn'][$l]?></a><b>]</b>
<hr />
</center>

<div class="menu2">
<strong><?=$lng['menuForum'][$l]?></strong>
<b>:</b> <a href="html.htm" class="sel"><?=$lng['mForumClanTalk'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumClan'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumAliance'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumTalk1'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumTalk2'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumTalkBoss'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumHire'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumHireClan'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumQuestions'][$l]?></a>
<b>:</b> <a href="html.htm"><?=$lng['mForumAdmin'][$l]?></a>
<b>:</b>
</div>



<div class="telo1">
<h2>┌vodnÝ strßnka</h2>
<div class="obsah">




<table>
<tr><td valign="top">
<table border="1">
<tr><th><?=$lng['iStore' ][$l]?></th><th><?=$status[1]?></th><th><?=$lng['iStore2' ][$l]?></th></tr>
<tr><td><?=$lng['iGold' ][$l]?></td><td><?=$status[2]?></td><td><?=$status[2]?></td></tr>
<tr><td><?=$lng['iFood' ][$l]?></td><td><?=$status[3]?></td><td><?=$status[3]?></td></tr>
<tr><td><?=$lng['iRawMat' ][$l]?></td><td><?=$status[4]?></td><td><?=$status[4]?></td></tr>
<tr><td><?=$lng['iOre' ][$l]?></td><td><?=$status[5]?></td><td><?=$status[5]?></td></tr>
<tr><td><?=$lng['iMana' ][$l]?></td><td><?=$status[6]?></td><td><?=$status[6]?></td></tr>
<tr><td><?=$lng['iBricks' ][$l]?></td><td><?=$status[7]?></td><td><?=$status[7]?></td></tr>
<tr><td><?=$lng['iWeapons'][$l]?></td><td><?=$status[8]?></td><td><?=$ status[8]?></td></tr>
</table>
</td><td valign="top">
<table border="1">
<tr><th><?=$lng['iHealth' ][$l]?></th><th><?=$status[0]?></th><th>%</th></tr>
<tr><td><?=$lng['iAcres' ][$l]?></td><td><?=$status[0]?></td><td></td></tr>
<tr><td><?=$lng['iBuildUp' ][$l]?></td><td><?=$status[0]?></td><td>%</td></tr>
<tr><td><?=$lng['iHappy' ][$l]?></td><td><?=$status[9] ?></td><td>%</td></tr>
<tr><td><?=$lng['iPeoples' ][$l]?></td><td><?=$status[10]?></td><td></td></tr>
<tr><td><?=$lng['iUnemployed'][$l]?></td><td><?=$status[11]?></td><td> %</td></tr>
<tr><td><?=$lng['iWorking' ][$l]?></td><td><?=$status[12]?></td><td>%</td></tr>
</table>
</td></tr>
</table>

<br />
<table border="1">
<td><?=$lng['iMagic' ][$l]?></td><td><?=$status[13]?></td></tr>
<td><?=$lng['iThieves' ][$l]?></td><td><?=$status[14]?></td></tr>
<td><?=$lng['iArmy' ][$l]?></td><td><?=$status[15]?></td></tr>
</table>

<br />
<? $i=$lng['iEnchantments'][$l]; ?>
<table>
<td><b><?=$lng['iArtifact' ][$l].':'?> </b></td><td><?=$status[49]?></td><td>nazev</td></tr>
<td><b><?=$lng['iWEnch' ][$l].' '.$i.':'?></b></td><td><?=$status[19]?></td><td>nazev</td></tr>
<td><b><?=$lng['iCEnch' ][$l].' '.$i.':'?></b></td><td><?=$status[29]?></td><td>
<table cellspacing="0">
<tr><td>nazev</td><td>10</td><td>mana</td></tr>
</table>
</td></tr>
<td><b><?=$lng['iMEnch' ][$l].' '.$i.':'?></b></td><td><?=$status[39]?></td><td>
<table cellspacing="0">
<tr><td>nazev</td><td>20</td><td>mana</td></tr>
</table>
</td></tr>
</table>




</div></div>

<div class="logo2"><hr />&copy; 2005 Peter Mlich</div>

</body></html>
peta
Profil *
luka
jeste by mne zajimalo, kdyz chci sledovat pocet pristupu na jednotlive stranky, je lepsi to mit pres smarty a htm nebo je to lepsi pres PHP (mysql)?
luka
Profil *
toto sa da napisat na par riadkou. Nauc sa poriadne riadenie scriptu, fce a hlavne css.
peta
Profil *
luka nerikam, ze je to tezke, udelat pocitadlo. Jen shanim nejlepsi zpusob, pokud mozno. Umel bych to udelat jako include a pak mi ten script muze zapisovat do DB i do txt, jak si zvolim.

Proto resim takovehle sablony, kde jsi nejsem jist a moz se mi nezda jako good, pouzit <?=...?> , kdyz podle mne by byla lepsi jedna velka promenna, kterou pak vypisi (echo).
kaifman
Profil
nechapu co resis, stejne je dycky nejuzsi hrdlo na discich, jenze ani to zrejme nebude tvoje starost protoze tenhle problem budes az s hodne velkou nasvstevnosti ;)

-> vyber s to co ti nejvic vyhovuje a to co ti zabere nejmin casu pri programovani, programator by mel byt od prirody liny tvor :)
luka
Profil *
fakt neviem co riesis, toto co tu mas napisane sa da napisat kratsie,ovela.A ak mas vsetky stranky takym sposobom ako si ukazal, tak ty nepotrebujes sablony ktore neriasia php, ale ty potrebujes skor doucit riadenie scriptu.len si vsimni kolko kodu mas tam rovnakeho, nieje to zbytocne?zamysli sa.hmmm
Toto téma je uzamčeno. Odpověď nelze zaslat.

0