Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
 | <?php class Request { /** * @return mixed * @param mixed $index * @param integer $type * @desc returns a get variable but with isset and optional type checking */ public static function get($index, $type = null){ if (isset($_GET[$index])){ if (is_null($type)){ return $_GET[$index]; } else { return Type::setType($_GET[$index], $type); } } else { return false; } } /** * @return mixed * @param mixed $index * @param integer $type * @desc returns a post variable but with isset and optional type checking */ public static function post($index, $type = null){ if (isset($_POST[$index])){ if (is_null($type)){ return $_POST[$index]; } else { return Type::setType($_POST[$index], $type); } } else { return false; } } } ?>  | 
Dan kan je gewoon met request::post('username'); het 'netjes' ophalen.
die typing is optioneel, maar das om ervoor te zorgen dat iets wat via get/post binnenkomt ook meteen het juiste type kan krijgen
request::post('id', Type::INTEGER);
zal meteen een int teruggeven.
If it ain't broken it doesn't have enough features
Er kan een betekenisverschil zijn tussen een niet verstuurde variabele en variabele met de waarde "". Misschien is er in een bepaalde applicatie geen verschil, maar dan vind ik het wel zo netjes om dat dan expliciet aan te geven (met een constructie zoals in jouw tweede manier).
Moraal: de lege string is niet niks!
Als je je formulieren opbouwt met behulp van een generieke class, kun je dit - en veel andere suffe dingen - automatiseren!
Pas de replâtrage, la structure est pourrie.
Ik gebruik een generieke class ervoor, dus dat is misschien wel te doen. Bedankt voor de tip, dat ik daar nog niet aan gedacht heb...Apollo_Futurae schreef op 26 juli 2004 @ 00:36:
offtopic:
Als je je formulieren opbouwt met behulp van een generieke class, kun je dit - en veel andere suffe dingen - automatiseren!
Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info
Verwijderd
En ik vind het een beetje zonde dat PHP geen waarde heeft die "niks" betekent. Imho zou elke taal die één moeten hebben, maar de enige die 'm heeft (voor zover ik weet dan) is Python. Oh, en Eiffel heeft er ook een.
En ja, NULL in C(++) natuurlijk, maar dat vind ik niet echt hetzelfde want die mag je alleen aan pointers toekennen.
Als je strict met types omgaat je hiervoor een ongecaste null-waarde gebruiken.Verwijderd schreef op 26 juli 2004 @ 09:04:
En ik vind het een beetje zonde dat PHP geen waarde heeft die "niks" betekent. Imho zou elke taal die één moeten hebben, maar de enige die 'm heeft (voor zover ik weet dan) is Python. Oh, en Eiffel heeft er ook een.
En ja, NULL in C(++) natuurlijk, maar dat vind ik niet echt hetzelfde want die mag je alleen aan pointers toekennen.
Moet je wel de 3 =-tekens gebruiken. Ik gebruik ook vaak manier 1, maar dan zet ik er FALSE neer.
sorry, is natuurlijk niet echt NULL. maar je kan het onderscheid wel gebruiken met formulieren e.d.
[ Voor 28% gewijzigd door MBV op 26-07-2004 11:30 ]
Verwijderd
Bedankt voor de suggestie.MBV schreef op 26 juli 2004 @ 11:29:
PHP heeft dat wel: $var === FALSE geeft iets anders als $var === "" en $var === 0
Moet je wel de 3 =-tekens gebruiken. Ik gebruik ook vaak manier 1, maar dan zet ik er FALSE neer.
edit:
sorry, is natuurlijk niet echt NULL. maar je kan het onderscheid wel gebruiken met formulieren e.d.
Het probleem dat ik hiermee blijf houden is dat FALSE ook nog een andere betekenis heeft: namelijk een onware Boolean.
Er bestaat in PHP, net zomin als in C++, een variabele-waarde die eenduidig `Niet toegewezen' betekent. Je kan het wel proberen te emuleren, met een paar truukjes hier en daar, maar ik blijf het een gemis aan de taal vinden. Niet dat ik 'm daarom niet gebruikt hoor
Hmm... die opmerking snap ik niet, maar ik ben ook niet zo thuis in C.creative8500 schreef op 26 juli 2004 @ 09:15:
[...]
Als je strict met types omgaat je hiervoor een ongecaste null-waarde gebruiken.
[ Voor 16% gewijzigd door Verwijderd op 26-07-2004 11:51 ]
Verwijderd
1
2
3
 | if ($_SERVER['REQUEST_METHOD'] == "POST") { echo $_POST['var']; }  | 
(globaal)
Dat is niet echt wat de TS bedoelt. En daarnaast: als een HTML-form invulveldje leeg wordt gelaten bij de submit, komt de POST-var ook niet aan geloof ik. Dus dan is je if-constructie wel true, maar bestaat de var misschien niet.Verwijderd schreef op 26 juli 2004 @ 12:46:
Om te kijken of een pagina aangevraagd is via POST gebruik ik altijd:
PHP:
 1
(globaal)
Iets in de trant van:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 | function request ( $name, $default = null ) { if ( isset ( $_REQUEST [ $name ] ) ) { return $_REQUEST [ $name ]; } else { return $default; } } // ... if ( is_null ( request ( 'some_var' ) ) { echo 'Missing!'; } switch ( request ( 'page', 'home' ) ) { // ... }  | 
Music is the pleasure the human mind experiences from counting without being aware that it is counting
 ~ Gottfried Leibniz