Gå til innhold

PHP·pub - Programming With Attitude - and beer


Anbefalte innlegg

Videoannonse
Annonse
Skrevet

Er enkelt nok bare å bruke cast.

 

$varint = (int)$var;

$varfloat = (float)$var;

$vararray = (array)$var;

$varstring = (string)$var;

$varbool = (bool)$var;

Skrevet
Er enkelt nok bare å bruke cast.

 

$varint = (int)$var;

$varfloat = (float)$var;

$vararray = (array)$var;

$varstring = (string)$var;

$varbool = (bool)$var;

6269911[/snapback]

 

Jeg blir litt skremt om man bruker typecasting i et typesvakt språk, selv om det er mulig. Nei, styr unna det og valider input med funksjoner som is_numeric(), empty() osv.

Man bør være strenge på validering av input fra brukeren. Programmer defensivt er noe man alltid bør ha i bakhodet.

Gjest Slettet+6132
Skrevet

Å programmere for "worst case scenario" er en grei regel. Tenk alltid at brukeren kan ha onde hensikter, ikke tenk "nei, det kommer sikkert ikke til å skje". Før eller siden finner noen et hull og utnytter det. :)

Skrevet (endret)
JonT: Det kan være intval() er metoden du ønsker.

$var = intval($_GET['var']);

Vil, gitt at $_GET['var'] ikke er numerisk, gi tallet 0, ellers gir den tallet den er.

6269885[/snapback]

Men kan jeg da bruke den sånn som dette:

if(!intval($_GET['var'])) {echo 'Du tastet ikke inn ett tall.'}

Endret av JonT
Skrevet

Jont: Nei. Hvis tallet er 0, vil den returnere 0, som evalueres til false i en if-setning.

 

Om du skal finne ut om et tall er numerisk, bruk is_numeric(). Hvis du vil finne ut om det er et heltall, kan du vel kanskje prøve å typecaste over til int før du kjører is_int()?

 

Altså:

 

if (!is_int((int)$_GET['var'])) { echo "blabla"; }

Skrevet
ehm, om du caster om en variabel til int, så vil den vel være int uansett, jorgis? Hva er poenget med å kjøre is_int da?

6271341[/snapback]

 

Godt poeng. :blush:

Skrevet (endret)

Hva med :

 

if(!intval($_GET['var']) && $_GET['var'] !== 0) {echo 'Du tastet ikke inn ett tall.'}

Endret av robgar
Gjest Slettet-df17e
Skrevet
Er enkelt nok bare å bruke cast.

 

$varint = (int)$var;

$varfloat = (float)$var;

$vararray = (array)$var;

$varstring = (string)$var;

$varbool = (bool)$var;

6269911[/snapback]

 

Jøss, nå har jeg programmert php i snart 3år, men alderi hørt om typecasting i PHP før. Morsomt! Ikke at jeg helt kan se fordelen ved og bruke det.

Skrevet

Jeg lurer på hvor mange som bruker unittesting i php?

Og om du bruker det, hvilket testbibliotek bruker du?

Bruker du noen annen form for automatisert testing så si gjerne det og (regressiontesting tenker jeg på da først og fremst).

 

Selv bruker jeg unittesting med simpletest. Vurderer å teste litt mer regressiontesting en eller annen gang.

Skrevet

Alright! Har hatt sommerferie i noen få timer og kjeder meg allerede :p

 

Noen tips til noe jeg kan bruke sommeren på å programmere? Tenker meg noe "stort" og tildels avansert som utnytter de nye mulighetene i PHP5, MySQL5 og mysqli.

 

Template-engine? Bildegalleri? Bah, alt er jo laget fra før av :\

Skrevet (endret)
Hva med å utvikle skilsene dine med å lære deg AJAX?

6309245[/snapback]

Men hva kan man bruke AJAX til som man ikke kan gjøre med vanlig PHP/MySQL? Bedre GUI? Endret av endrebjorsvik
Skrevet

Men AJAX har en del problemer hva anngår usability. Screen readers er lite glad i innhold som endrer seg uten at siden laster, de får det sjelden med seg.

AJAX-type-ting er fint, men gjelder å bruke det rett. Veldig mange som overdriver det.

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...