Propery werkt niet mee
Code (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
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
<?php
class Customer
{
public $_db;
public $intro;
public $content;
public $action;
public $sub;
public $id;
function __construct($action, $sub, $id)
{
$this->_db = new Database();
$action = (empty($action) ? 'list' : $action);
$sub = (empty($sub) ? 'detail' : 'detail');
$id = (isset($_GET['id'])) ? $_GET['id'] : NULL;
switch ($action)
{
case 'list':
$this->list_customer($this->action, $this->sub, $this->id);
break;
case 'wat' :
$this->extra();
break;
}
}
function list_customer($action, $sub, $id)
{
if ($sub == 'detail')
{
echo 'wzzzz';
$this->customer_detail($this->sub, $this->id);
}
else
{
//blablabla code
}
?>
class Customer
{
public $_db;
public $intro;
public $content;
public $action;
public $sub;
public $id;
function __construct($action, $sub, $id)
{
$this->_db = new Database();
$action = (empty($action) ? 'list' : $action);
$sub = (empty($sub) ? 'detail' : 'detail');
$id = (isset($_GET['id'])) ? $_GET['id'] : NULL;
switch ($action)
{
case 'list':
$this->list_customer($this->action, $this->sub, $this->id);
break;
case 'wat' :
$this->extra();
break;
}
}
function list_customer($action, $sub, $id)
{
if ($sub == 'detail')
{
echo 'wzzzz';
$this->customer_detail($this->sub, $this->id);
}
else
{
//blablabla code
}
?>
Code (php)
moet zijn
Code (php)
Toevoeging op 25/11/2010 11:10:55:
je kan trouwens ook zeggen:
if (empty($action)) $action = 'list';
Gewijzigd op 25/11/2010 11:21:52 door Ozzie PHP
Ozzie PHP op 25/11/2010 11:09:08:
moet zijn
Toevoeging op 25/11/2010 11:10:55:
je kan trouwens ook zeggen:
if (empty($action)) $action = 'list';
Code (php)
1
2
3
4
2
3
4
<?php
$action = (empty($action) ? 'list' : $action);
$sub = (empt($sub) ? 'detail' : 'detail');
?>
$action = (empty($action) ? 'list' : $action);
$sub = (empt($sub) ? 'detail' : 'detail');
?>
moet zijn
Code (php)
1
2
3
4
2
3
4
<?php
$action = (empty($action)) ? 'list' : $action;
$sub = (empt($sub)) ? 'detail' : 'detail';
?>
$action = (empty($action)) ? 'list' : $action;
$sub = (empt($sub)) ? 'detail' : 'detail';
?>
Toevoeging op 25/11/2010 11:10:55:
je kan trouwens ook zeggen:
if (empty($action)) $action = 'list';
Maar dit helpt hem ook niet.
Beide nog maar eens naar oop en variable.scope kijken?
Dit geval zou mooi zijn als je java deed.
Ozzie, dat kan haast niet, $action werkt namelijk wel gewoon...
$this->list_customer($this->action, $this->sub, $this->id);
Je roept hier variabelen aan die niet geset zijn.
Code (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
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
<?php
class Customer
{
public $_db;
public $intro;
public $content;
public $action;
public $sub;
public $id;
function __construct($action, $sub, $id)
{
$this->_db = new Database();
$action = (empty($action)) ? 'list' : $action;
$sub = 'detail';
$id = (isset($_GET['id'])) ? $_GET['id'] : NULL;
switch ($action)
{
case 'list':
$this->list_customer($action, $sub, $id);
break;
case 'wat' :
$this->extra();
break;
}
}
function list_customer($action, $sub, $id)
{
if ($sub == 'detail')
{
echo 'wzzzz';
$this->customer_detail($this->sub, $this->id);
}
else{}
?>
@ Karl, wat bedoel je met JAVA?
class Customer
{
public $_db;
public $intro;
public $content;
public $action;
public $sub;
public $id;
function __construct($action, $sub, $id)
{
$this->_db = new Database();
$action = (empty($action)) ? 'list' : $action;
$sub = 'detail';
$id = (isset($_GET['id'])) ? $_GET['id'] : NULL;
switch ($action)
{
case 'list':
$this->list_customer($action, $sub, $id);
break;
case 'wat' :
$this->extra();
break;
}
}
function list_customer($action, $sub, $id)
{
if ($sub == 'detail')
{
echo 'wzzzz';
$this->customer_detail($this->sub, $this->id);
}
else{}
?>
@ Karl, wat bedoel je met JAVA?
Gewijzigd op 25/11/2010 11:19:33 door John Cena
Chi Lion op 25/11/2010 11:14:14:
Ozzie, dat kan haast niet, $action werkt namelijk wel gewoon...
Jullie doen beide het 'verkeerd', buitenste haakjes zijn niet nodig.
(1+1) = 2 <- haakjes niet nodig.
Bij Ozzie is het helemaal vaag.
@Ozzie, laat hem dit lekker zelf uitzoeken, paar topics terug van hem deed hij het ook al niet goed.
@Chilion, volgens mij is dit nog niet precies zoals je het wilt hebben, maar goed.
En bij java heb je dit nog veel sneller / sterker / meer.
Basic gedoe is dit.
Deze fout zal ik nu niet meer maken (hoop ik) (2maal is scheepsrecht)
Groet,
Die klopt toch gewoon? Als ik google vind ik dit. Is hetzelfde toch?
$x = ($myvalue == 10) ? "the value is 10": "the value is not 10";
(http://www.lizjamieson.co.uk/2007/08/20/short-if-statement-in-php/)
Chi Lion op 25/11/2010 11:30:55:
Bedankt Karl, ik heb die link van je al meerdere keren doorgelezen. Ik denk dat naast het theorie tot je nemen toch ook een groot gedeelte van OOP (ofzelfs programmeren) ervaring opdoen is en fouten maken.
Deze fout zal ik nu niet meer maken (hoop ik) (2maal is scheepsrecht)
Groet,
Deze fout zal ik nu niet meer maken (hoop ik) (2maal is scheepsrecht)
Groet,
Je zit te klooien met de variable scope. Die $action is alleen binnen de constructor bekend, want daar is het een parameter. Het is dus geen property (wat jij volgens mij wel denkt dat het is).
Dan moet je met $this-> werken.
Ozzie PHP op 25/11/2010 11:32:15:
Karl, wat is bij mij vaag? Die verkorte if-statement?
Die klopt toch gewoon? Als ik google vind ik dit. Is hetzelfde toch?
$x = ($myvalue == 10) ? "the value is 10": "the value is not 10";
(http://www.lizjamieson.co.uk/2007/08/20/short-if-statement-in-php/)
Die klopt toch gewoon? Als ik google vind ik dit. Is hetzelfde toch?
$x = ($myvalue == 10) ? "the value is 10": "the value is not 10";
(http://www.lizjamieson.co.uk/2007/08/20/short-if-statement-in-php/)
Ja, ik weet hoe een ternary operator werkt. Mijn punt is dat jij om de functie empty nog eens haakjes gaat zetten, dat is niet nodig. Alsof je dit doet: (sin(pi))
Er worden haakjes gebruik in programmeren om duidelijkheid te maken, soms zijn ze ook vereist $p&&$q||$r (of volgens logica p^qVr), welke horen nu bij elkaar?
Je kunt dus wel doodleuk overal haakjes toevoegen, maar dat helpt niet altijd de duidelijkheid te vergroten. Je moet het dus wel toepasselijk doen. Net zoals dat je in de wiskunde dingen buiten haakjes haalt, dan worden ze soms zoveel simpeler.
De statement kan (en vind ik ook het duidelijkste) dit zijn:
$action = empty($action) ? 'list' : $action;
ik dacht eigenlijk dat de syntax van een verkort if-statement als volgt is:
(hier je vergelijking) ? waar : onwaar
Maar als ik jou goed begrijp zeg jij dat het zo moet:
hier je vergelijking ? waar : onwaar
Dus zonder haakjes?
Quote:
Mijn punt is dat jij om de functie empty nog eens haakjes gaat zetten, dat is niet nodig
zegt voldoende?
EDIT:
Ik was iets eerder karl :)
Gewijzigd op 25/11/2010 13:15:38 door Niels K
ternary) voor nieuwe syntax met ?: (die heeft alleen een false gedeelte).
Moet niet, die haakjes hebben geen toegevoegde waarde. Zie ook php.net (The expression (expr1) ? (expr2) : (expr3) evaluates to expr2 if expr1 evaluates to TRUE, and expr3 if expr1 evaluates to FALSE.
Met haakjes dus :-s
You got me confused now!
Je doet dit toch ook niet? if((empty($blaat)))...?
Naja, ik dacht dat die haken erbji hoorden.. weer wat geleerd zullen we maar zeggen... ahum ;-)
Pim - op 25/11/2010 14:04:15:
Met haakjes kan je de precedence, 'voorrang', aanpassen. Zie Php.net Operator Precedence
Klopt. Zoals ik hierboven heb gezet met logica en vereiste. Maar als het niet hoeft, vind ik het duidelijker om ze ook niet te gebruiken.