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
| class Form { private $name = null; public function addName($name) { $this->name = $name; } public function getName() { if(isset($this->name)) return $this->name; return null; } //... //en nog veel meer methods public function getHTML() { $output = "<input type=\"".$this->getType()."\" ".(!empty($this->getName)) ? "name=\"".$this->getName()."\"" : "".">"; $output .= ...; return $output; } } |
echter als ik met het expr ? statement : statement werk krijg ik de error: Can't use method return value in write context, alles gaat goed zolang ik zo werk:
PHP:
1
2
3
4
5
6
| public function getHTML() { $test = null; (!empty($test)) ? "a" : "b"; return "iets"; } |
doe ik echter zo:
PHP:
1
2
3
4
5
6
7
8
9
10
| public function testReturn() { return; } public function getHTML() { (!empty($this->testReturn())) ? "a" : "b"; return "iets"; } |
dan gaat het dus fout en krijg ik de error: Can't use method return value in write context.
Het is een zeer vervelend probleem ik heb niet veel zin om tussen variabelen te gebruiken of mijn $output op te gaan splitsen in if ... else statements omdat ik zo direct met een 20 - 30 regels statements ga zitten. En dit voor iemand anders rommelig is
Crisis? Koop slim op Dagoffer - Op zoek naar een tof cadeau?