Doorgeven properties van methode naar methode binnen class
Omdat ik iets fout doe.
Maar wat ik fout doe ontschiet me even!
Let's see:
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
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
<?php
function parse_menu_settings()
{
$query = 'SELECT * FROM menu ORDER BY rank';
if ($this->_db->query($query))
{
$menu = array();
while($row = $this->_db->fetchAssoc())
{
$menu[$row->id] = $row->title;
}
}
}
function parse_menu_items()
{
$this->parse_menu_settings();
foreach ($this->menu as $id => $title)
{
echo '<li>'. $title .'</li>';
}
}
?>
function parse_menu_settings()
{
$query = 'SELECT * FROM menu ORDER BY rank';
if ($this->_db->query($query))
{
$menu = array();
while($row = $this->_db->fetchAssoc())
{
$menu[$row->id] = $row->title;
}
}
}
function parse_menu_items()
{
$this->parse_menu_settings();
foreach ($this->menu as $id => $title)
{
echo '<li>'. $title .'</li>';
}
}
?>
Foutmelding:
Warning: Invalid argument supplied for foreach() in /storage/mijndomein/users/120864/public/sites/www.aaaa.com/CMS/inc/menu_rank.php on line 51
Anders kan je ook werken met return $menu en in de tweede methode $menu = $this->parse_menu_settings();
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
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
<?php
function parse_menu_settings()
{
$query = 'SELECT * FROM menu ORDER BY rank';
if ($this->_db->query($query))
{
$menu = array();
while($row = $this->_db->fetchAssoc())
{
$menu[$row->id] = $row->name_dutch;
}
}
return $menu;
}
function parse_menu_items()
{
$menu = $this->parse_menu_settings();
foreach ($menu as $id => $name_dutch)
{
echo '<li>'. $name_dutch .'</li>';
}
}
?>
function parse_menu_settings()
{
$query = 'SELECT * FROM menu ORDER BY rank';
if ($this->_db->query($query))
{
$menu = array();
while($row = $this->_db->fetchAssoc())
{
$menu[$row->id] = $row->name_dutch;
}
}
return $menu;
}
function parse_menu_items()
{
$menu = $this->parse_menu_settings();
foreach ($menu as $id => $name_dutch)
{
echo '<li>'. $name_dutch .'</li>';
}
}
?>
Maar toch heel goed dat je met OOP bezig bent ;)
zou je me wel aan kunnen geven wat er fout gaat?
Oeh, trouwens, die while-lus in parse_menu_settings(), daarin heb je fetchAssoc() staan. Geeft die een array terug, zoals de naam suggereert, of daadwerkelijk objecten, zoals jij ze gebruikt?
(Maar dat zou je vrij snel moeten merken wanneer je error-reporting aan hebt staan)
Hoe ga ik dit nu in de code verwerken zodat hij ze wel goed pakt?
Als je fetchAssoc() objecten teruggeeft, dan zou het goed moeten gaan. Wat is lekkerlijk de output van die var_dump?
Voor de zoekresultaten, zo opgelost:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14