bassebhuMedlem sedan nov. 20016 480 inlägg Hej alla glada!
Om jag har ett avsnitt som ska komma igen på flera sidor, vad är bästa och mest optimerade sättet att göra det på?
Som jag har det nu så inkluderar jag en fil med:
funktion() {
echo "Hej där... massa innehåll. ";
echo "Massa mer innehåll. ";
echo "Och ännu massa mer innehåll...";
}
...och sedan skriver ut det på sidan med: funktion();
Är det här ett optimerat sätt?
Sen har jag en fråga angående echo. Är det bästa sättet att skriva ut texten? Kan jag inte få ihop det där till ett echo och sedan allt innehåll - fast ändå med radbrytningar för mer lättläst kod. Jag vet att det går med asp så det måste ju gå med php också.
Typ:
echo "Hej där... massa innehåll. " .
"Massa mer innehåll. " .
"Och ännu massa mer innehåll...";
Nog för att det där borde ge parse error eller nåt, men ni fattar vad jag menar..?
Taxi!
oHLLeMedlem sedan nov. 2002302 inlägg Här finns ett ganska bra test angående vad som är snabbast när man skriver ut text i php, http://www.webmasterworld.com/forum88/3253.htm. Antar att det va nånting sånt här du va ute efter?
Angående din andra fråga så borde det här vara det du ville ha.
echo "Hej där... massa innehåll.\nMassa mer innehåll.\nOch ännu massa mer innehåll...";
\n mostvarar ett radbryt
bassebhuMedlem sedan nov. 20016 480 inlägg Njea, inte så jag tänkte. /n vet jag om, men jag vill ha lättlästkod när jag skriver php. Inte bara en rad - men inte heller 500 echo.
Ett alternativ är ju:
$var = "Hej";
$var .= " mer hej";
osv
Men det känns inte så mycket smidigare och då måste jag använda en echo för att skriva ut det sen.
Hur brukar man göra? Kan inte tänka mig att man sitter och skriver en enda 1000 tecken lång rad? :o Tycker bara att det verkar vara en sån ful lösning att börja varje rad med echo.
oHLLeMedlem sedan nov. 2002302 inlägg Jag brukar nog oftast göra context-switch när jag har mycket statiskt att skriva ut. Något i stil med
<?php echo $dynamiskt;?>
här kommer statiskt innehåll
<?php
echo $merDynamiskt;?>
När jag har dynamiskt innehåll som jag skriver ut så blir det oftast en massa echo. Tex, nån loop som hämtar ut ur en databas. Att skriva en funktion som skriver ut innehållet tycker jag är bra för läsligheten, det är lätt att läsa och förstå koden då.
bassebhuMedlem sedan nov. 20016 480 inlägg ok. men eftersom det ska ligga i en includefil så vill jag inte skriva ut det utanför php-taggarna. och lägga det i databas känns ännu mindre optimerat med databaskopplingar hit och dit.
echo "
Rad nummer 1.
Rad nummer 2.
Rad nummer 3.
";
... fungerar väl som du vill?
Det ger ju inte <br /> men det antar jag att du vet. =]
Edit...
Och om jag förstod dig rätt så här i efterhand så är det enda behöver göra är att ha ovanstående kod i din include-fil och sedan importera filen var du vill ha den med...
include "includetest.php"; // Om nu din include-fil oxå heter "includetest.php" det vill säga. ;)
jOOOLMedlem sedan sep. 200436 inlägg altså ska du skriva mycket text/html kan du ju göra en egen text eller html fil och inkludera och skriva ut den bara,.
bassebhuMedlem sedan nov. 20016 480 inlägg GrodanBoll: Helt otroligt! Precis så som jag först trodde, men som jag fick parse error på. Måste ha missat nåt tecken då. Hur skumt som helst. Enkelt och überlogiskt!
jOOOL skrev:
altså ska du skriva mycket text/html kan du ju göra en egen text eller html fil och inkludera och skriva ut den bara,.
det är sant. men vad är snabbast, att inkludera allt i en fil eller att bara inkludera det man behöver i flera små filer? känns som större process att inkludera massa filer. Kanske inte är så. Jag tänker hela tiden i stort format. Vad som är bra om man har 10 000 användare online samtidigt.
Jag inkluderar mina mysql-uppgifter samt en del sidinnehåll i min includefil.
Jag har sett till så att inga tecken finns utanför php-taggarna och jag döper filen till .php, men är det fler saker jag bör tänka på ur säkerhetssynpunkt gällande inkludering av filer?
oHLLeMedlem sedan nov. 2002302 inlägg
bassebhu skrev:
Jag inkluderar mina mysql-uppgifter samt en del sidinnehåll i min includefil.
Jag har sett till så att inga tecken finns utanför php-taggarna och jag döper filen till .php, men är det fler saker jag bör tänka på ur säkerhetssynpunkt gällande inkludering av filer?
Du kan ju se till att du definerar någon boolean i din index.php och sen i alla include-filerna så ser du till att den är satt till true för att det ska hända något. Jag har sett att både phpBB och mediawiki gör så.
bassebhuMedlem sedan nov. 20016 480 inlägg
oHLLe skrev:
bassebhu skrev:
Jag inkluderar mina mysql-uppgifter samt en del sidinnehåll i min includefil.
Jag har sett till så att inga tecken finns utanför php-taggarna och jag döper filen till .php, men är det fler saker jag bör tänka på ur säkerhetssynpunkt gällande inkludering av filer?
Du kan ju se till att du definerar någon boolean i din index.php och sen i alla include-filerna så ser du till att den är satt till true för att det ska hända något. Jag har sett att både phpBB och mediawiki gör så.
Låter intressant. Var kan jag läsa mer om det?
oHLLeMedlem sedan nov. 2002302 inlägg Jag vet inte vart man kan läsa om det. Men här är ett exempel från phpBB.
I index.php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
och så i både extensions.inc och i common.php så står det först
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
och det resulterar i att det bara är en fil som har definierat IN_PHPBB som kan inkludera filerna.
bassebhuMedlem sedan nov. 20016 480 inlägg schysst, jag förstår. slänger in det i min kod :)
PeddaMedlem sedan juni 20006 032 inlägg
oHLLe skrev:
if ( !defined('IN_PHPBB') )
{
die("Hacking attempt");
}
Jag brukar använda mig av något liknande om sidorna bara ska kunna öppnas om dom är inkluderade.
Detta lägger jag i filen där jag har min databaskoppling:
define('INCLUDECHECK', 1);
Sen överst på alla sidor som inkluderas:
<?php
// Kolla så sidan får visas
if (!defined('INCLUDECHECK')) {
header("Location: index.php?sida=404");
exit;
}
?>
FuelMedlem sedan okt. 20001 285 inlägg Jag lägger alla mina include filer utanför webroten