Hallo,
Wat is de beste manier om pagina's een unieke titel en een unieke beschrijving te geven? Ik heb niet veel verstand van php, maar bij de websites die ik nu maak gebruik ik een switch. Is dit een goede manier of bestaan er betere? Welke manier hanteren jullie?
J. de Boer
- Unieke titel en beschrijving
-
26-01-2010, 19:23 #1
- Berichten
- 359
- Lid sinds
- 17 Jaar
Unieke titel en beschrijving
-
-
26-01-2010, 19:32 #2
- Berichten
- 21
- Lid sinds
- 15 Jaar
Een switch, ik neem dan aan dat de site vanuit 1 index bestuurd wordt?
Dus iets als:
Code:<?php $titel = ""; $inhoud = ""; switch ($paging) { case 'pagina1': $titel = "Pagina 1!"; $inhoud = "Inhoud pagina 1"; break; default: $titel = "Index!"; $inhoud = "Index pagina"; break; } ?> <html> <head><title><?=$titel;?></titel></head> <body><?=$inhoud;?></body> </html>
Persoonlijk zou ik pér onderdeel een template aansturen en die aan het einde tonen. Dan hou je de HTML en PHP code gescheiden. Zoals in mijn voorbeeld zou je waar ik de variabelen zet kan je functies aanroepen die variabelen zoekt en vervangt in de HTML template.
Begrijp je?
-
26-01-2010, 19:49 #3
- Berichten
- 359
- Lid sinds
- 17 Jaar
Ik begrijp je. Zo blijft de code netjes en overzichtelijk. Ik merk nu wel dat ik nog een beginner ben met php: op mijn website heb twee switches gemaakt, maar ik zie nu dat het met variabelen veel gemakkelijker en netter kan!
Bedankt voor je reactie!
-
26-01-2010, 20:05 #4
- Berichten
- 21
- Lid sinds
- 15 Jaar
Dat voorbeeld wat ik gaf kan je, als je beginner bent zeker, gebruiken.
Het mooiste zou zijn dat alle PHP code bijvoorbeeld boven in houdt. Het is soms gemakkelijk om dit te verplaatsen naar je HTML maar dan moet je jezelf afvragen wat beter is.
Bijvoorbeeld als je een tabel wilt vullen m.b.v. een for loop kan je (wat ik niet aanraad) op zo'n manier doen:
Code:<table> <?php for ($i = 0, $j = 10; $i < $j; $i++) { echo "<tr><td>Kolom ".$i."</td></tr>"; } ?> </table>
Code:function genereerTabelInhoudMetDezeData() { $rijen = ""; for ($i = 0, $j = 10; $i < $j; $i++) { $rijen .= "<tr><td>Kolom ".$i."</td></tr>"; } return $rijen; } $tabelInhoud = genereerTabelInhoudMetDezeData(); ?> <table> <?=$tabelInhoud;?> </table>
-
26-01-2010, 20:49 #5
- Berichten
- 257
- Lid sinds
- 15 Jaar
Een kleine opmerking over de code hierboven
Waarom de variabele $i met de .-operator concatenaten als je toch al met dubbele quotes werkt. Daarin mag je gewoon variabelen gebruiken:
Code:echo "<tr><td>Kolom $i</td></tr>";
-
26-01-2010, 21:33 #6
- Berichten
- 21
- Lid sinds
- 15 Jaar
Omdat het netter is. Daarnaast zie je direct dat het om een variabele gaat als je met syntax highlighting werkt.
Performance verschil is nihil
-
27-01-2010, 08:28 #7
- Berichten
- 257
- Lid sinds
- 15 Jaar
Dan zou ik persoonlijk ook liever met single quotes werken. Dat levert dan wellicht weer performance voordeel op omdat de string niet geparsed hoeft te worden. Bovendien kun je dan ook eenvoudig double quotes gebruiken binnen je string voor bijvoorbeeld html attributes.
-
27-01-2010, 09:36 #8
- Berichten
- 376
- Lid sinds
- 18 Jaar
Niet hard-coded, maar uit je database halen.
PHP Code:SELECT title, description, keywords FROM weetikveel WHERE pagina = '".$pagina."'
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic