PHP en HTML door elkaar?
Je kan dan het formulier zelf in HTML zetten en de verwerking ervan in PHP. Als je binnen het formulier even PHP nodig hebt (bijv. een lus), open je PHP en sluit je het weer af.
Bijvoorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
if(!empty($_POST['naam']))
{
// Code voor wat er moet gebeuren
}
?>
<html>
<body>
<form action='' method='post'>
<input type='text' name='naam' />
<?php for($i=1;$i<5;$i++)
{
echo "hoi<br />"; // slaat nergens op, maar het gaat ff om het idee
}
?>
<input type='submit' name='submit' value='Go!' />
</form>
</body>
</html>
if(!empty($_POST['naam']))
{
// Code voor wat er moet gebeuren
}
?>
<html>
<body>
<form action='' method='post'>
<input type='text' name='naam' />
<?php for($i=1;$i<5;$i++)
{
echo "hoi<br />"; // slaat nergens op, maar het gaat ff om het idee
}
?>
<input type='submit' name='submit' value='Go!' />
</form>
</body>
</html>
Je kan ook al je HTML met PHP echoën. Je begint dan bovenaan je script met . Die tags staan verder nergens meer in het script.
Bijvoorbeeld:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Maar ook de hele header echo je dan gewoon uit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>Titel van de pagina</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
<link href=\"include/style.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>
<body>";
// En hier al je code
echo "</body>
</html>";
?>
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
<html xmlns=\"http://www.w3.org/1999/xhtml\">
<head>
<title>Titel van de pagina</title>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\" />
<link href=\"include/style.css\" rel=\"stylesheet\" type=\"text/css\" />
</head>
<body>";
// En hier al je code
echo "</body>
</html>";
?>
Mijn vraag is: hoe je dat in de praktijk? Het werkt natuurlijk allebei, maar wat wordt er door (professionele) programmeurs gedaan? Is er algemene consensus over of is het meer persoonlijke voorkeur? Of is het misschien afhankelijk van wat voor soort applicatie je aan het maken bent?
Echte programmeurs houden HTML gescheiden van PHP d.m.v. een Templateparser zoals Smarty 3.
- Aar - op 05/03/2011 00:37:44:
Echte programmeurs houden HTML gescheiden van PHP d.m.v. een Templateparser zoals Smarty 3.
Vind ik een simpele gedachte.
Met mijn php lees ik ze uit en geef de variables erin een waarde. Eigenlijk een heel simpel templateparse systeem.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
if(!empty($_POST['naam']))
{
// Code voor wat er moet gebeuren
}
$textVar;
for($i=1;$i<5;$i++)
{
$textVar .= "hoi<br />"; // slaat nergens op, maar het gaat ff om het idee
}
?>
<html>
<body>
<form action='' method='post'>
<input type='text' name='naam' />
<?php
echo $textVar;
?>
<input type='submit' name='submit' value='Go!' />
</form>
</body>
</html>
if(!empty($_POST['naam']))
{
// Code voor wat er moet gebeuren
}
$textVar;
for($i=1;$i<5;$i++)
{
$textVar .= "hoi<br />"; // slaat nergens op, maar het gaat ff om het idee
}
?>
<html>
<body>
<form action='' method='post'>
<input type='text' name='naam' />
<?php
echo $textVar;
?>
<input type='submit' name='submit' value='Go!' />
</form>
</body>
</html>
Een beetje programmeur werkt met views en niet met van de rare template parsers.. :)
Dan komt ook het MVC tot zijn recht..
De een is niet beter dan de andere. Voor niet-php designers zijn template talen vaak makkelijker, voor php ontwikkelaars zelf vaak native php. Een goede template engine: Twig
Gewijzigd op 05/03/2011 13:01:39 door Pim -
Helemaal gelijk. Alleen ik ben geen fan van Smarty, Over Twig: Dat is inderdaad een hele goede.
Zelf werk ik met Zend_View en dat vind ik heerlijk werken.
templatepower!
Pim - op 05/03/2011 13:00:37:
Views kunnen zowel in native-php als in eoa template taal. De goede template engines zorgen voor mapping naar native-php zelfs voor 0 snelheidsverlies (na de 1e caching).
De een is niet beter dan de andere. Voor niet-php designers zijn template talen vaak makkelijker, voor php ontwikkelaars zelf vaak native php. Een goede template engine: Twig
De een is niet beter dan de andere. Voor niet-php designers zijn template talen vaak makkelijker, voor php ontwikkelaars zelf vaak native php. Een goede template engine: Twig
Rasmus Lerdorf raadde in het verleden de volgende taal aan:
PHP!
:-)
Zie het voorbeeld op de frontpage van Twig.
Is overigens ook gemaakt door de maker van het symfony framework.