[php/html] php in html of html in php

Pagina: 1 2 Laatste
Acties:
  • 4.739 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

  • FragFrog
  • Registratie: September 2001
  • Laatst online: 11:54
BalusC schreef op donderdag 26 januari 2006 @ 07:09:
Waarom zie ik veel mensen zoiets als het volgende doen
[..]
Dunno, ik doe eigenlijk standaart
PHP:
1
echo "<table border='1' cellpadding='2' cellspacing='3'>";

:+ als ik al dingen echo in PHP dat is.. Wat ik tegenwoordig eigenlijk niet meer doe, maar laten we niet die discussie opnieuw gaan voeren :+

Overigens is "<table border=1 cellpadding=2 cellspacing=3>" voor in ieder geval single-digit waardes ook valid HTML als ik me niet vergis :)

[ Voor 46% gewijzigd door FragFrog op 26-01-2006 07:26 ]

[ Site ] [ twitch ] [ jijbuis ]


Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

Het was ook maar een voorbeeld. En ik gebruik eigenlijk overal in de php single quotes, behalve voor de mysql queries. En ik ben gewend om dubbele quotes in HTML te gebruiken en dat is ook netter, het is gewoon 'standaard' :)

Acties:
  • 0 Henk 'm!

  • [ash]
  • Registratie: Februari 2002
  • Laatst online: 05-04 18:06

[ash]

Cookies :9

BalusC schreef op donderdag 26 januari 2006 @ 07:09:
Waarom zie ik veel mensen zoiets als het volgende doen
PHP:
1
echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"3\">";
in plaats van het volgende
PHP:
1
echo '<table border="1" cellpadding="2" cellspacing="3">';
Enfin, ik zet altijd html in php. Mijn teksteditor ondersteunt gewoon html highlighting binnen php en ik vind het niet onoverzichtelijk. Grote lappen HTML, ongeveer meer dan 5 regels elk, zet ik in een include, tenzij het al onder een function() valt.
Waarschijnlijk omdat dubbel-ge-quote string meer escape characters herkent, zoals \n .
http://us3.php.net/manual...ypes.string.syntax.double

Acties:
  • 0 Henk 'm!

Verwijderd

[ash] schreef op donderdag 26 januari 2006 @ 07:57:

Waarschijnlijk omdat dubbel-ge-quote string meer escape characters herkent, zoals \n .
http://us3.php.net/manual...ypes.string.syntax.double
Waar je meestal dus niets aan hebt als je HTML output. Alleen in HTML e-mails wil je wel regelmatig wat linebreaks hebben. Maar die krijg je vanzelf in de "template syntax" van PHP.

Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

[ash] schreef op donderdag 26 januari 2006 @ 07:57:
Waarschijnlijk omdat dubbel-ge-quote string meer escape characters herkent, zoals \n .
http://us3.php.net/manual...ypes.string.syntax.double
Heb je het zelf uitgetest? :)

Acties:
  • 0 Henk 'm!

  • BarôZZa
  • Registratie: Januari 2003
  • Laatst online: 12:36
BalusC schreef op donderdag 26 januari 2006 @ 07:09:
Waarom zie ik veel mensen zoiets als het volgende doen
PHP:
1
echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"3\">";
in plaats van het volgende
PHP:
1
echo '<table border="1" cellpadding="2" cellspacing="3">';
Enfin, ik zet altijd html in php. Mijn teksteditor ondersteunt gewoon html highlighting binnen php en ik vind het niet onoverzichtelijk. Grote lappen HTML, ongeveer meer dan 5 regels elk, zet ik in een include, tenzij het al onder een function() valt.
Omdat je anders geen $vars kan gebruiken.

PHP:
1
2
3
4
$var="hoi";

echo "$var hoi";  // output: hoi hoi
echo '$var hoi'; // output: $var hoi 

Ik doe wel eens " in de html vervangen voor ' als ik in een luie bui ben. Ja het is lelijk, maar het werkt ;) .

Acties:
  • 0 Henk 'm!

  • DDemolition
  • Registratie: Augustus 2003
  • Laatst online: 30-09-2024

DDemolition

slopen is mijn lust en leven

BarôZZa schreef op donderdag 26 januari 2006 @ 09:12:
Ik doe wel eens " in de html vervangen voor ' als ik in een luie bui ben. Ja het is lelijk, maar het werkt ;) .
Of gewoon weglaten
dus geen
PHP:
1
2
3
echo "<div align=\"Right\">";
//maar
echo "<div align=Right>";


Niet echt storend voor de meeste mensen maar wel gevaarlijk als je bijvoorbeeld title="bla bla" hebt. De spatie wordt dan niet gezien 8)7

[ Voor 8% gewijzigd door DDemolition op 26-01-2006 09:17 ]

Specs: Server, WS boven, WS beneden


Acties:
  • 0 Henk 'm!

  • BalusC
  • Registratie: Oktober 2000
  • Niet online

BalusC

Carpe diem

BarôZZa schreef op donderdag 26 januari 2006 @ 09:12:
[...]

Omdat je anders geen $vars kan gebruiken.

PHP:
1
2
3
4
$var="hoi";

echo "$var hoi";  // output: hoi hoi
echo '$var hoi'; // output: $var hoi 
Juist daardoor maak je echo's onoverzichtelijk. En de meeste highlight functies werken hier niet op.
PHP:
1
echo 'blaat '.$var.' hoi';
is dan weer duidelijker.

Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 08-08 10:39

Bosmonster

*zucht*

DDemolition schreef op donderdag 26 januari 2006 @ 09:17:
[...]

Of gewoon weglaten
dus geen
PHP:
1
2
3
echo "<div align=\"Right\">";
//maar
echo "<div align=Right>";


Niet echt storend voor de meeste mensen maar wel gevaarlijk als je bijvoorbeeld title="bla bla" hebt. De spatie wordt dan niet gezien 8)7
Dat is dus gewoon _fout_. De quotes zijn verplicht. Right moet trouwens met kleine letters.

Acties:
  • 0 Henk 'm!

Verwijderd

Bosmonster schreef op donderdag 26 januari 2006 @ 11:03:

Dat is dus gewoon _fout_. De quotes zijn verplicht. Right moet trouwens met kleine letters.
In HTML syntax mogen attributen zonder quotes als ze alleen bestaan uit letters,cijfers,streepjes of (dubbele)punten. De waarde van het align attribuut is case-insensitive, maar sowieso is het align attribuut natuurlijk deprecated in 4.01.

Overigens is het natuurlijk wel extreem handig om jezelf aan te leren altijd quotes om attribute values te zetten, en zoveel mogelijk in lowercase te doen.

[ Voor 16% gewijzigd door Verwijderd op 26-01-2006 11:23 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:50

.oisyn

Moderator Devschuur®

Demotivational Speaker

BalusC schreef op donderdag 26 januari 2006 @ 07:09:
Waarom zie ik veel mensen zoiets als het volgende doen
PHP:
1
echo "<table border=\"1\" cellpadding=\"2\" cellspacing=\"3\">";
in plaats van het volgende
PHP:
1
echo '<table border="1" cellpadding="2" cellspacing="3">';
Omdat het door elkaar gebruiken van quotes er alleen maar inconsistenter op wordt. En single-quotes lossen ook niet al je problemen op, single quotes in strings moeten namelijk ook nog altijd escaped worden. Daarnaast heb je met double quotes meer escape sequences tot je beschikking (newline, tab, etc... output is niet altijd html ;)). Daarnaast wordt de double-quote variant in de meeste programmeertalen gebruikt en is het voor mij dus puur een kwestie van gewenning.

Afgezien van het feit dat ik html vrijwel nooit in strings zet aangezien dat meestal niet op die plek hoort (ik doe vrijwel altijd een scheiding van code en opmaak)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • BarôZZa
  • Registratie: Januari 2003
  • Laatst online: 12:36
BalusC schreef op donderdag 26 januari 2006 @ 09:41:
[...]
Juist daardoor maak je echo's onoverzichtelijk. En de meeste highlight functies werken hier niet op.
PHP:
1
echo 'blaat '.$var.' hoi';
is dan weer duidelijker.
I know, maar is meer typwerk.

Acties:
  • 0 Henk 'm!

  • XWB
  • Registratie: Januari 2002
  • Niet online

XWB

Devver
Ik gebruik altijd single quotes. Daartussen kan ik dan zetten wat ik wil. Variabelen hou ik er altijd vantussen, wat voor mij overzichtelijker is:

PHP:
1
2
3
4
<?php
$var = 'Karel'; 
echo 'Ik heet ' . $var; 
?>
BarôZZa schreef op donderdag 26 januari 2006 @ 13:12:
[...]

I know, maar is meer typwerk.
Dat valt best mee, als je het gewoon bent stoor je je daar echt niet aan ;) Iedere keer een \ moeten plaatsen vind ik persoonlijk nog lastiger.

[ Voor 51% gewijzigd door XWB op 26-01-2006 13:14 ]

March of the Eagles


Acties:
  • 0 Henk 'm!

  • PrisonerOfPain
  • Registratie: Januari 2003
  • Laatst online: 26-05 17:08
.oisyn schreef op woensdag 25 januari 2006 @ 21:48:
Daar kun je het stukje "iets()" dus vervangen door "iets(), true", zodat ie niet de andere expressie gaat proberen
offtopic:
"iets()" kun je gewoon vervangen door "(iets() || true)" voor eenzelfde resultaat, dunkt mij

[ Voor 9% gewijzigd door PrisonerOfPain op 26-01-2006 14:06 ]


Acties:
  • 0 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 12:50

.oisyn

Moderator Devschuur®

Demotivational Speaker

da's idd waar :)

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • Wim-Bart
  • Registratie: Mei 2004
  • Laatst online: 10-01-2021

Wim-Bart

Zie signature voor een baan.

Ik heb het nog anders aangepakt. Ik werk gewoon met objecten welke de hele HTML renderen voor mij. De objecten zijn eigenlijk een soort framework zoals bij Borland Delphi wordt gebruikt.
Een voorbeeldje:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
require_once('inlude/htmlframework.php');
$oMyApp= new Page('title');
$oMyApp->addmeta('refresh','500;index.hml');
$oMyApp->settype(HTML4_TRANSITIONAL);
$oMyApp->setstyle('bodystyle');

$oTable= new Table('tabelstyle');
$oTable->NewLine();
$oTable->NewColumn('cell1style');
$oTable->AddField('Hello World');
$oTable->NewLine();
$oTable->NewColumn();

$oTable2= new Table();
$oTable2->newline();
$oTable2->newcolumn();
$oTable2->AddField(htmlspan('kleurstyle','Hello another world'));

$oTable->AddTable($oTable2);
$oMyApp->AddTable($oTable);

// Grapje, 2e tabel nog een keer
$oMyApp->AddTable($oTable2);

unset($oTable2);
unset($oTable);

// Een formpje
$oForm= new Form(FORM_POST,'/index.html');
$oTable= new Table();
$oTable->NewLine();
$oTable->NewColumn();
$oTable->AddField('Naam:');
$oTable->NewColumn();
$oTable->AddField(FormTextInput('fieldstyle','ID','POST_NAAM','DummyValue'));
$oForm->AddTable($oTable);
unset($oTable);
$oForm->AddTextValidator('ID','Naam goed invoeren (0-32 letters)',0,32));

$oMyApp->AddForm($oForm);
unset($oForm);
$oMyApp->show();
unset ($oMyApp);

Beheerders, Consultants, Servicedesk medewerkers. We zoeken het allemaal. Stuur mij een PM voor meer info of kijk hier De mooiste ICT'er van Nederland.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
@ wim-bart: Dat is dus echt niet te volgen imo.
Je moet echt regel voor regel lezen om te zien wat je doet.

[ Voor 6% gewijzigd door Verwijderd op 27-01-2006 12:56 ]


Acties:
  • 0 Henk 'm!

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 11:57
wim-bart > Noo! Is dat te lezen? Is dat te onderhouden door andere mensen? Kun je werkelijk alles doen wat je wilt? Is het overal duidelijk wat er gebeurt?

Volgens mij niet. Het lijkt mij een complete ramp als ik 't zou moeten onderhouden, of zelfs maar begrijpen wat er staat. Waarom heb je voor deze methode gekozen?

Verbouwing


Acties:
  • 0 Henk 'm!

  • Michali
  • Registratie: Juli 2002
  • Laatst online: 29-05 22:54
Idd, kun je ook iets als dit doen:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<table summary="Dit zijn gegevens">
  <caption>Gegevens</caption>
  <thead>
    <th scope="row">ID</th>
    <th scope="row">Naam</th>
  </thead>
  <tbody>
    <tr>
      <td>1</td>
      <td>Karel</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Piet</td>
    </tr>
  </tbody>
</table>


Ik zou met object niet op zo'n laag niveau gaan werken. Direct HTML schrijven is net zo veel werk. Beter is om het concept dat je ermee wilt weergeven te identificeren en daarvan een object te maken.

Noushka's Magnificent Dream | Unity


Acties:
  • 0 Henk 'm!

  • BarôZZa
  • Registratie: Januari 2003
  • Laatst online: 12:36
PHP:
1
2
3
$oTable= new Table(); 
$oTable->NewLine(); 
$oTable->NewColumn();


Is dus hetzelfde als <table><tr><td>?

Kijk als je nou vaak een table maakt en vervolgens automatisch een table laat genereren aan de hand van bijvoorbeeld een dubbele array, dan zou ik me daar iets bij kunnen voorstellen. Maar voor elke html-tag een aparte functie aanroepen?!
Pagina: 1 2 Laatste