[PHP] Verbeteren opbouw website

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Beste tweakers. Ik heb zelf een site met PHP gemaakt, en deze ben ik nu eens grondig aan het doornemen en optimaliseren. Nu kwam ik alleen een paar "problemen" tegen, waarvan ik benieuwd ben hoe anderen dat doen. Ik zet problemen tussen aanhalingstekens, omdat het niet echt problemen zijn. Het gaat om oplossingen om de code leesbaarder en makkelijker te maken om te onderhouden.

Ik ben zelf geen professioneel programmeur, en bijna alles wat ik doe heb ik zelf bedacht verzonnen. Misschien dat ik daarom misschien dingen in jullie ogen heel vreemd of verkeerd oplos, maar daar is dit topic ook voor. Om te kijken hoe anderen dingen oplossen en hoe ik het zelf ook beter kan doen :)

Allereerst een kleine uitleg over de site. Het is een site een beetje zoals clanbase. Hier kunnen mensen zich aanmelden, clans vormen met zijn allen en als clan aanmelden voor een league. In een league worden dan matches gespeeld en de scores en ratings worden allemaal bijgehouden in de database.


Nu allereerst de pagina-opbouw. Ik heb alle soortgelijke functies op 1 pagina gezet. Per pagina gebruik ik hele lange if-elseif statements om te bepalen welke pagina of welke actie uitgevoerd moet worden.
De pagina is dan ook meestal ook opgebouwd met site/clan.php?action=foo. Met php bepaal ik in de if-elseif contructie dan bijvoobeeld
PHP:
1
if((isset($_GET['action']) && $_GET['action'] == 'foo'))


om te kijken of de pagina achter ?action=foo weergegeven moet worden. Zo is een pagina dus uit allemaal acties en pagina's opgebouwd. Het probleem is hierbij het onderhouden. Het is niet de meest overzichtelijke en makkelijke manier om te onderhouden, daarom vraag ik me af hoe jullie dat doen? Hoe scheiden jullie acties en pagina's op een duidelijke en overzichtelijke manier, zonder voor elke actie een nieuwe pagina te hoeven maken.
Alle pagina's en acties op een aparte pagina heb ik al aan zitten denken, maar ik zie het niet zitten om mijn users bij elke klik naar een andere pagina te sturen. Zo heb ik liever alle acties bij een clan via clan.php op te vragen enzovoorts. Dit is eigenlijk mijn punt wat ik graag zou willen verbeteren.

Als tweede vraag ik me af hoe je het beste kan controleren op een formulier submit? Ikzelf geef dus een naam aan de submit knop in een formulier:
code:
1
2
3
4
<form>
<input type="submit" name="submit_claninfo" value="Verwerk">
<input type="hidden" name="clan_id" value="<?= $clan->clan_id ?>">
</form>

Vervolgens kijk ik in de if-elseif statements of deze gezet is en meestal zet ik in de if dan ook meteen de controle op de belangrijkste ID van de actie waar het om gaat:
PHP:
1
elseif(isset($_POST['submit_claninfo']) && isset($_POST['clan_id']))

en ga dan indien deze true is, de acties uitvoeren die hierbij horen. De vraag is alleen, is dit goed, en is dit ook vrij veilig? 100% veilig kan je dit natuurlijk niet maken (Een formulier submit kan je altijd faken), of zitten hier haken en ogen aan die ik nog niet gezien of ondervonden heb?

Als derde een vraag over classes. Uiteraard heb ik classes zoals league en clan, welke functies bevatten als $clan->add_member(), $clan->update_data() enzvoorts, en welke de array $clan->data[] bevatten met alle gegevens over de league/clan/enz.
Maar wat met bijvoorbeeld nieuwsberichten? Is het ook makkelijk daar een class voor te schrijven, aangezien er niet echt functies voor te schrijven zijn. Je hebt alleen insert, delete en update en verder niets, wat is dan de toegevoegde waarde van een class? Is het dan niet makkelijker om daar gewone functies voor te maken, of moet ik deze acties beschrijven in mijn if-elseif statements?

En als laatste een vraag over mijn includes. Ik heb 1 include waar practisch alles in staat: pagestart.php. Daarin include ik uiteraard eerst alle classes die elk in een eigen pagina staan. Dan include mijn functions.php waar alle functies in staan en daar staat ook alle code om te checken of een user ingelogd is of niet, of de user geband is en dat soort meuk. Boven elke pagina (bijvoorbeeld clan.php) begin ik dan met een
PHP:
1
require('pagestart.php');

om elke pagina te beginnen. Vervolgens komen de if-elseif statements, en daar waar output nodig is begin ik met een
PHP:
1
include(HEADER);

om de bovenkant van mijn pagina op te bouwen en eindig ik met
PHP:
1
include(FOOTER);

om de onderkant erachteraan op te bouwen (Het pad naar de header en footer staat vastgelegd in de constants HEADER en FOOTER).

Dit is dus ongeveer de opzet van mijn site. Aangezien ik de code flink aan het doornemen en opschonen ben, vraag ik me toch af hoe ik die opzet beter en makkelijker kan maken. Alle suggesties tips en ideeën zijn zeer welkom :)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

MultiViews \o/
Niet alleen mooiere URL's, maar het geeft je ook meer mogelijkheden om voor bepaalde acties een apart bestand te maken.
Stel je hebt nu http://yoursite.com/clan.php?action=foo
Met MultiViews zou je dit als URL kunnen nemen: http://yoursite.com/clan/foo
2 mogelijkheden:
1) Je hebt een clan.php en daarin haal je uit de REQUEST_URI de variabele waarde 'foo' op
2) je maakt een subdirectory 'clan' en zet daarin een bestand foo.php

Een andere methode is om adhv de action een aparte include op te nemen; zo kan je clan.php dus relatief klein blijven.

vwb het uitvragen van een POST:
PHP:
1
2
3
if (!empty($_POST)) { }
// of
if ($_SERVER['REQUEST_METHOD'] == 'POST') { }

De waarde van een submitbutton wordt niet in alle gevallen doorgegeven (bijvoorbeeld bij het submitten dmv enter of javascript). Een andere methode is het includen van een hidden field en daar op checken:
HTML:
1
2
3
4
<form action="clan.php" method="post">
  <input type="hidden" name="action" value="verwerken">
  <input type="submit">
</form>

PHP:
1
if (isset($_POST['action']) && $_POST['action'] == 'verwerken') { }

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 02:04

aex351

I am the one

HTML:
1
2
3
4
<form>
<input type="submit" name="submit_claninfo" value="Verwerk">
<input type="hidden" name="clan_id" value="<?= $clan->clan_id [b];[/b] ?>">
</form>


Het is denk ik wel verstandig als je je code afsluit met ;

[ Voor 50% gewijzigd door aex351 op 02-07-2005 00:23 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

Verwijderd

aex351 schreef op zaterdag 02 juli 2005 @ 00:23:

Het is denk ik wel verstandig als je je code afsluit met ;
Waarom zou je, bij een dergelijk inline stukje code dat niets voorstelt?

Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
Hmmmm, multiviews klinken goed. Ik richt mezelf alleen altijd op de hoogst mogelijke compabiliteit van webservers. Vandaar dat ik eigenlijk zoveel mogelijk in PHP zelf probeer te doen, en zo weinig mogelijk met behulp van bijvoorbeeld .htaccess files.

De includes aan de hand van de action vind ik dan eigenlijk een zeer goed idee. Mijn richtlijn is eigenlijk om elk formulier en de bijbehorende actie(s) op 1 pagina te hebben. Dat is naar mijn mening veel beter te onderhouden :) Het formulier kan ik dan weergeven aan de hand van de URL, en de post method van het formulier word dan gewoon
PHP:
1
<?= $_SERVER['PHP_SELF'] ?>


Zoals ik nu de opbouw van bijvoorbeeld clan.php in gedachten heb is als volgt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require(PAGESTART);

$pages = array('edit', 'add', 'edit_members');

if(isset($_GET['action']))
{
  foreach(array_values($pages) as $page_action)
  {
    if($page_action == $_GET['action'])
    {
      include($_SERVER['DOCUMENT_ROOT'] .'/clan/'. $page_action .'.php');
    }
  }
}
else
{
  include($_SERVER['DOCUMENT_ROOT'] .'/clan/default.php');
}


Op deze manier heb ik alle actions en forms in 1 bestand, en kan ik makkelijk actions toevoegen door de array aan het begin uit te breiden. En op deze manier word het ook makkelijk om een default action aan te geven. Het enige waar ik nu rekening mee moet houden, is dat ik in de subfiles (om ze zo maar even te noemen) dan wel controleer of de benodigde overige GET-variabelen wel gezet zijn :)

[ Voor 9% gewijzigd door Morax op 02-07-2005 00:40 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Gebruik dan in_array:
PHP:
1
2
3
4
5
6
7
8
9
10
$pages = array('edit', 'add', 'edit_members');

if(isset($_GET['action']) && in_array($_GET['action'], $pages))
{
    include($_SERVER['DOCUMENT_ROOT'] .'/clan/'. $_GET['action'] .'.php');
}
else
{
    include($_SERVER['DOCUMENT_ROOT'] .'/clan/default.php');
}

;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
crisp schreef op zaterdag 02 juli 2005 @ 00:42:
Gebruik dan in_array:
PHP:
1
2
3
4
5
6
7
8
9
10
$pages = array('edit', 'add', 'edit_members');

if(isset($_GET['action']) && in_array($_GET['action'], $pages))
{
    include($_SERVER['DOCUMENT_ROOT'] .'/clan/'. $_GET['action'] .'.php');
}
else
{
    include($_SERVER['DOCUMENT_ROOT'] .'/clan/default.php');
}

;)
Ik wist dat er een dergelijke functie was, kwam er alleen niet meer op :>

Maar in ieder geval bedankt met de hulp tot nu toe, ik stel het zeer op prijs :Y)

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

Verwijderd

PHP:
1
2
3
4
5
6
7
8
9
10
11
$include_base = $_SERVER['DOCUMENT_ROOT'] . '/clan/';

if (
      isset ( $_GET['action'] )
   && preg_match ( '/^[a-z.-]+$/', $_GET['action'] )
   && is_file ( $include_base . $_GET['action'] . '.php' )
) {
   include $include_base . $_GET['action'] . '.php';
} else {
   include $include_base . 'default.php';
}

Met een constructie als deze hoef je niet meer een ander PHP bestand aan te passen als je een nieuwe actie wilt. Wel even zorgen dat alle .php bestanden in de betreffende directory geïnclude mogen worden. Desnoods maak je er een aparte directory voor aan.

[ Voor 14% gewijzigd door Verwijderd op 02-07-2005 00:54 ]


Acties:
  • 0 Henk 'm!

  • Patriot
  • Registratie: December 2004
  • Laatst online: 16-09 13:49

Patriot

Fulltime #whatpulsert

Je kunt ook switch gebruiken.

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$sAction = (IsSet($_GET['action'])) ? $_GET['action'] : ''; // Zo krijg je geen warnings als error_reporting op E_ALL staat.

switch($sAction) {

     case "edit": // Als $sAction 'edit' bevat

           // code uitvoeren, je zou hier dus een include neer kunnen zetten

     break; // De case afsluiten

     default: // Als $sAction een waarde heeft die niet in een case staat, krijg je dit

          // ...

     break;
}
?>


Snap je?

ps. Sla me maar als dit een totaal onzinnige reactie is.. ben een beetje n00b hier.

EDIT: Eventjes iets veranderd

EDIT 2: De vorige poster was net ff eerder, dat kan natuurlijk ook, en is gemakkelijker.

[ Voor 37% gewijzigd door Patriot op 02-07-2005 00:51 ]


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
timmie_loots schreef op zaterdag 02 juli 2005 @ 00:49:
Je kunt ook switch gebruiken.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

$sAction = (IsSet($_GET['action'])) ? $_GET['action'] : '';

switch($sAction) {

     case "edit": // Als $sAction 'edit' bevat

           // code uitvoeren, je zou hier dus een include neer kunnen zetten

     break; // De case afsluiten

     default: // Als $sAction een waarde heeft die niet in een case staat, krijg je dit

          // ...

     break;
}
?>


Snap je?

ps. Sla me maar als dit een totaal onzinnige reactie is.. ben een beetje n00b hier.
Alle input word gewaardeerd door mij iig :) En een switch heb ik ook aan gedacht, alleen de eerste opzet lijkt mij handiger. Klinkt misschien stom, maar als ik een action in de switch moet toevoegen, moet ik een hele case inbouwen en weer een nieuwe include regel inbouwen enzovoorts.

Met de opzet die crisp in zijn post heeft staan, kan ik een nieuwe action toevoegen door alleen de array bovenin de pagina aan te vullen :)

En @ cheatah:
Ik weet niet veel van de tijd die elke functie ineemt af, maar kan het geen vertraging veroorzaken als je veel bezoekers en veel actions hebt door hem elke keer een preg_match uit te laten voeren en te laten controleren of de file bestaat.
Ik heb namelijk zoiets van "als het sneller is, wil ik daar best zelf even een waarde voor toevoegen". Het is in 3 seconden gedaan, en het zorgt ervoor dat PHP zelf niets meer hoeft te valideren of iets dergelijks. Daarnaast kan ik ook heel makkelijk een action disablen door hem uit de array te verwijderen, en hem ondertussen toch op de server te laten staan :)

Het enige wat ik nog wil doen, is bij het formulier bij de edit-action controleren of hij wel geïnclude word door clan.php.
Kan ik dit het beste doen door in clan.php een variabele te zetten, en te controleren voor de output of deze bestaat, of is hier misschien een handige functie voor in PHP?

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

Verwijderd

Morax schreef op zaterdag 02 juli 2005 @ 00:54:

En @ cheatah:
Ik weet niet veel van de tijd die elke functie ineemt af, maar kan het geen vertraging veroorzaken als je veel bezoekers en veel actions hebt door hem elke keer een preg_match uit te laten voeren en te laten controleren of de file bestaat.
Ik heb namelijk zoiets van "als het sneller is, wil ik daar best zelf even een waarde voor toevoegen". Het is in 3 seconden gedaan, en het zorgt ervoor dat PHP zelf niets meer hoeft te valideren of iets dergelijks. Daarnaast kan ik ook heel makkelijk een action disablen door hem uit de array te verwijderen, en hem ondertussen toch op de server te laten staan :)
Zolang je niet met duizenden bezoekers per uur zit, kun je een hoop maken hoor. Dat beetje extra tijd dat de server gebruikt kost niets, de tijd die je zelf aan overbodige bewerkingen kwijt bent wel.

Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 02:04

aex351

I am the one

Verwijderd schreef op zaterdag 02 juli 2005 @ 00:30:
[...]

Waarom zou je, bij een dergelijk inline stukje code dat niets voorstelt?
gewoon afsluiten je handel, het is er niet voor niets. Wie weet levert het later misschien bugs op, misschien niet atm direct in script maar in php engine zelf ofzo

[ Voor 19% gewijzigd door aex351 op 02-07-2005 01:35 ]

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

Verwijderd

aex351 schreef op zaterdag 02 juli 2005 @ 01:34:

gewoon afsluiten je handel, het is er niet voor niets. Wie weet levert het later misschien bugs op, misschien niet atm direct in script maar in php engine zelf ofzo
Niemand verbiedt het je, maar ik kan best uit ervaring zeggen dat daar niet zo gauw problemen mee ontstaan. En als dat gebeurt is de parse error behoorlijk duidelijk.
Het is in elk geval niet de moeite waard om een discussie over te gaan houden.

Acties:
  • 0 Henk 'm!

  • aex351
  • Registratie: Juni 2005
  • Laatst online: 02:04

aex351

I am the one

Verwijderd schreef op zaterdag 02 juli 2005 @ 01:40:
[...]

Niemand verbiedt het je, maar ik kan best uit ervaring zeggen dat daar niet zo gauw problemen mee ontstaan. En als dat gebeurt is de parse error behoorlijk duidelijk.
Het is in elk geval niet de moeite waard om een discussie over te gaan houden.
Ik geef het als Tip mee aan de TS, jij bent degene die er moeilijk over gaat doen met argumenten als dat het niet nodig is. plus nog je bovenstaande reply waarin je suggereerd dat ik er een discussiepunt van maak.

< dit stukje webruimte is te huur >


Acties:
  • 0 Henk 'm!

  • BoomSmurf
  • Registratie: Maart 2003
  • Laatst online: 13-06 16:50

BoomSmurf

Am-Ende!

In m'n laatste projectje doe ik het momenteel zo (maar dat is misschien overkill)
(nb, dit is allemaal ook echt een zwaar wazige uitleg voor wat ik doe merk ik nu met nalezen)

alle pagina's lopen via /index.html?path=<blaat> .

Dus bijvoorbeeld user registreren loopt heeft path=/user/register (geen path meegegeven, path -> /). Dit is dan beginnen al handig omdat je straks met mod_rewrite, custom errors docs, multiviews(?) dit kan doen via bv http://mijnsite/user/register . Intern wordt het toch al gebruikt.

Mijn pathhandler class breekt dat pad in bestandsdelen. Hier zou dus 'user' en 'register' gevonden worden. Er wordt gekeken welke class registered is voor het basispad 'user' en hier wordt dan 'register' aan doorgegeven. Deze user class moet dan zelf weer bekijken of 'register' één van z'n functies is ofwel een ander object. (voor -versimpeld- bijvoorbeeld /user/view/henk zou dan 'view' en 'henk' doorgegeven worden aan 'user', die hoogstwaarschijnlijk dan 'henk' door zal geven aan de 'user_view' class)

De 'user' class doet niet alleen dit. Hij maakt ook zijn eigen output en behandelt zijn eigen forms. Zo is er dus ook een requesthandler class die uit de gesubmitte form haalt welk object er verantwoordelijk voor is en alle gegevens hieraan doorspeelt. Dit alles werkt in samenwerking met smarty.

Een form zou bijvoorbeeld zo er uit kunnen zien:
HTML:
1
2
3
4
5
<form action="{$currentpath}" method="post">
  ...form zooi...
  <input type="hidden" name="handler" value="{$handlerclass}" />
  ...submit...
</form>


Dit form wordt natuurlijk al eerder uitgepoept door de user class. Ergens in een gedisplayde template zal staan {component name="user"} waardoor user->display($path); aangeroepen wordt en het user object zijn eigen template in het geheel kan proppen, waar dus bijvoorbeeld de bovenstaande form in staat.

"Mijn god waarom" vraag je je misschien af nu. Maar het resultaat van dit alles is dat je voor elk deel van je site een eigen object hebt, wat met weinig en oncomplexe code zijn eigen output en forms voor zijn rekening neemt, zonder lange een diepe if-constructies (en je hebt je code op 1 plek). Door enkele simpele functies toe te voegen loopt de verificatie van je forms en fouten erin uitwijzen aan de user ook vrijwel automagisch en met weinig code. En het is ook heel makkelijk te verwerken in je 'main template' (in Smarty) om dit voor kleine stukjes van je uiteindelijke pagina te doen.

sjees heb weer veel meer getiept dan de bedoeling was en echt duidelijk is het volgens mij ook al niet :+

Acties:
  • 0 Henk 'm!

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 06-09 22:19
offtopic:
Waarom werkt iedereen bij forms en input veld met $_POST[] om de waarde op te halen, je kan toch ook perfect $value (als je veld de naam "value" heeft). Is het gebruik van $_POST[] veiliger ofzo ??

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

I_M_P_A_C_T schreef op zondag 03 juli 2005 @ 14:15:
offtopic:
Waarom werkt iedereen bij forms en input veld met $_POST[] om de waarde op te halen, je kan toch ook perfect $value (als je veld de naam "value" heeft). Is het gebruik van $_POST[] veiliger ofzo ??
offtopic:
onder welke steen kom jij vandaan gekropen? lees dit maar eens ;)

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 06-09 22:19
crisp schreef op zondag 03 juli 2005 @ 14:20:
[...]


offtopic:
onder welke steen kom jij vandaan gekropen? lees dit maar eens ;)
offtopic:
Hmm, dat wist ik dus niet.. :p. Oki, dan maar alles even gaan veranderen, want hoe ik het nu dus doe is niet echt goed heb ik zo de indruk :)

Thx crisp !

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


Acties:
  • 0 Henk 'm!

  • Morax
  • Registratie: Mei 2002
  • Laatst online: 20-09 00:30
I_M_P_A_C_T schreef op zondag 03 juli 2005 @ 14:53:
[...]


offtopic:
Hmm, dat wist ik dus niet.. :p. Oki, dan maar alles even gaan veranderen, want hoe ik het nu dus doe is niet echt goed heb ik zo de indruk :)

Thx crisp !
Het is niet zozeer dat het fout is wat je doet, maar het feit dat het onveilig kan zijn, doordat er variabelen gezet zijn of kunnen worden waar jij geen zicht op hebt :)

Variabelen die je in de url zet via ?foo=bar worden dan ook in je script geïnitialiseerd als $foo = 'bar' wat dus je hele script overhoop kan gooien ;)

De bottom-line is dat je of beter $_POST[] kan gebruiken, of je gewoon alle variabelen moet initialiseren voordat je ze gaat gebruiken (Wat overigens sowieso geen slechte gewoonte is :))

[ Voor 5% gewijzigd door Morax op 03-07-2005 15:08 ]

What do you mean I have no life? I am a gamer, I got millions!


Acties:
  • 0 Henk 'm!

  • imp4ct
  • Registratie: November 2003
  • Laatst online: 06-09 22:19
Oki, dan gaan we maar eens DRINGEND $_GET & $_POST gaan gebruiken :), want voor m'n url's deed ik dus juist hetzelfde 8)7 8)7.

Bedrijf : Webtrix

Foto materiaal:
Nikon D7100 | Nikor AF-S DX 18-105mm | Nikor AF-S 50mm | Nikon SB600


Acties:
  • 0 Henk 'm!

Verwijderd

crisp schreef op zondag 03 juli 2005 @ 14:20:
[...]


offtopic:
onder welke steen kom jij vandaan gekropen? lees dit maar eens ;)
offtopic:
Een reply die Ivy sinds lange tijd weer een glimlach op het gezicht heeft doen laten verschijnen (-:


edit:
Tijdens het bezoeken van GoT dan, laat dat duidelijk zijn - voordat er mentaal-, psychische-, en geitenwollensok dragende hultroepen op den stoep verschijnen.

[ Voor 19% gewijzigd door Verwijderd op 04-07-2005 12:40 ]


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
aex351 schreef op zaterdag 02 juli 2005 @ 01:34:
[...]

gewoon afsluiten je handel, het is er niet voor niets. Wie weet levert het later misschien bugs op, misschien niet atm direct in script maar in php engine zelf ofzo
PHP:
1
<? phpinfo() ?>


en

PHP:
1
<? phpinfo(); ?>


Werkt gewoon beide ik doe ook nooit een ; op een 1 regelig stukje inline code gewoon omdat het niet nodig is.

Voor de topicstarter
Ik werk ook altijd met een array met toegestane waardes, naar mijn inziens werkt dat het beste :)

[ Voor 17% gewijzigd door supakeen op 04-07-2005 12:56 ]


Acties:
  • 0 Henk 'm!

  • EdwinG
  • Registratie: Oktober 2002
  • Laatst online: 12:47
zmn schreef op maandag 04 juli 2005 @ 12:53:
Werkt gewoon beide ik doe ook nooit een ; op een 1 regelig stukje inline code gewoon omdat het niet nodig is.
Ik zet die ; er wel achter. Ten eerste hoort alles afgesloten te worden, en bovendien is het wel zo handig om consequent te zijn bij het coden.
En wat als je iets bij dat regeltje wilt toevoegen? zie je die ; die je dan alsnog moet plaatsen niet snel over het hoofd?

Bezoek eens een willekeurige pagina


Acties:
  • 0 Henk 'm!

  • supakeen
  • Registratie: December 2000
  • Laatst online: 09-09 14:42
EdwinG schreef op maandag 04 juli 2005 @ 13:08:
[...]

Ik zet die ; er wel achter. Ten eerste hoort alles afgesloten te worden, en bovendien is het wel zo handig om consequent te zijn bij het coden.
En wat als je iets bij dat regeltje wilt toevoegen? zie je die ; die je dan alsnog moet plaatsen niet snel over het hoofd?
Nee, want dan ga ik automatisch over op

PHP:
1
2
3
4
<?php
 phpinfo();
 phpinfo();
?>



Zo zit mijn denken nu in elkaar en ik doe het al 4 jaar zo (net zoals dat ik consequent single quotes gebruik) :)

[ Voor 3% gewijzigd door supakeen op 04-07-2005 13:38 ]


Acties:
  • 0 Henk 'm!

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

aex351 schreef op zaterdag 02 juli 2005 @ 01:34:
[...]

gewoon afsluiten je handel, het is er niet voor niets. Wie weet levert het later misschien bugs op, misschien niet atm direct in script maar in php engine zelf ofzo
Lees anders dit nog maar ff :)

http://nl3.php.net/basic-syntax.instruction-separation
The closing tag of a block of PHP code automatically implies a semicolon; you do not need to have a semicolon terminating the last line of a PHP block.
Kan me niet voorstellen dat het komende tijd nog wordt gewijzigd hoor ;)

edit:

Kan deze discussie ook worden afgesloten :)

[ Voor 6% gewijzigd door BtM909 op 04-07-2005 13:46 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.

Pagina: 1