我正在练习一些PHP OOP,因此我正在创建一个类来创建一个简单的导航菜单(将来带有扩展名),现在我已经建立了该类,该类的效果有点..具有1个菜单项。.我不知道如何在我的班级中使用数组来像
<?php
$menu = new Navigation("Test", "mainmenu");
$menu->setMenuItem("home", "test");
echo $menu->display();
?>
Run Code Online (Sandbox Code Playgroud)
如您所见,我应该能够为每个菜单项设置setMenuItem(); 方法。但是由于它目前不使用数组,所以我只能得到第一个值
该类本身如下:
<?php
class Navigation implements navigationInterface {
public $menu = null;
public $name = null;
public $klasse = null;
public function __construct($name, $klasse) {
$this->name = $name;
$this->klasse = $klasse;
}
public function getName() {
return $this->name;
}
public function getClass() {
return $this->klasse;
}
public function setMenuItem($items) {
$this->menuItem = $items;
}
public function getMenuItem() {
return $this->menuItem;
}
public function display() {
$menu = '<nav class="' . $this->getName() . '">';
$menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem() . '.php">' . $this->getMenuItem() . '</a></li>';
$menu .= '</nav>';
return $menu;
}
}
?>
Run Code Online (Sandbox Code Playgroud)
谁能告诉我如何在类中结合使用数组和循环来创建具有所有给定值的菜单?
提前致谢。
<?php
class Navigation{
public $menu = null;
public $name = null;
public $klasse = null;
public function __construct($name, $klasse) {
$this->name = $name;
$this->klasse = $klasse;
}
public function getName() {
return $this->name;
}
public function getClass() {
return $this->klasse;
}
public function setMenuItem($items) {
$this->menuItem = $items;
}
public function getMenuItem($menu) {
return $menu;
}
public function display() {
$menu = '<nav class="' . $this->getName() . '">';
if(is_array($this->menuItem))
{
foreach($this->menuItem as $val)
{
$menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem($val) . '.php">' . $this->getMenuItem($val) . '</a></li>';
}
}
else{
$menu .= '<li><a class="' . $this->getClass() . '" href="index.php?page=' . $this->getMenuItem($this->menuItem) . '.php">' . $this->getMenuItem($this->menuItem) . '</a></li>';
}
$menu .= '</nav>';
return $menu;
}
}
?>
<?php
$menu = new Navigation("Test", "mainmenu");
$menu_items=array("home","test");
$menu->setMenuItem($menu_items);
echo $menu->display();
?>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32925 次 |
| 最近记录: |