Visa ett inlägg
Oläst 2011-05-03, 13:40 #8
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Althalos Althalos är inte uppkopplad
Medlem
 
Reg.datum: Jan 2006
Inlägg: 282
Citat:
Ursprungligen postat av robincox Visa inlägg
Anledningen till att jag vill ha if ($_POST) och inte if ($_POST['something']) är att jag har en php sida som jag includar om någon $_POST finns över huvud taget. Finns det någon $_POST så kommer massor av if (isset($_POST['differentValues'])) att kollas. Jag sparar en massa laddningstid genom att hoppa över alla $_POST kollningar om det inte finns någon $_POST över huvud taget.
Det verkligt rätta sättet är att enkapsulera $_POST i ett objekt och sedan ha en metod, så skriver man typ som såhär:
if($obj->isset()) include('file.php');

Och om man vill hämta ett värde så skriver man
$obj->post('key');

Motsvarande metoder ska också finnas för $_GET etc. Kolla hur ramverk såsom Codeigniter har implementerat detta.

Men vill man inte programmera objektorienterat så skulle jag föredra Jonas lösning under alla omständigheter. Jag vet inte hur din kod ser ut men jag antar att du ändå kollar vilka specifika värden som är tillagda, innan du försöker göra något med dessa. Så du borde väl egentligen göra det typ såhär:
if($obj->validate()) include('file.php');

validate antas här vara en funktion som validerar din formdata och laddar in filen bara om formulärdatan går att använda till någonting. Det vore en bra lösning. Kör man inte objektorienterat så skulle jag ha gjort likadant d.v.s. validerat först och sedan baserat på valideringen inkluderat filen. Inte kollat om någon data finns, ladda in filen och sedan låta den göra valideringen. Men jag hade inte programmerat på det här sättet överhuvudtaget så vad vet jag...

En sista sak bara. Det är inte den här typen av optimeringar som sparar "massa med laddningstid" så Don't Repeat Yourself-principen och god struktur trumfar att minska antalet operationer, i det här sammanhanget, varje gång. Enligt min åsikt.
Althalos är inte uppkopplad   Svara med citatSvara med citat