我正在做一个测试项目,希望以一些代码审查的形式获得帮助……不是在寻找简单的答案!我的指示是:</ p>
“完成函数getBreadcrumbNavigation(),以便它返回HTML代码字符串。假定 变量$ breadcrumbs包含一个网页对象数组,其成员变量具有有效值。 返回的HTML代码应为链接的有序列表。数组中的最后一个条目是当前页面 并且应显示锚文本,但周围不应带有锚标签。”
这就是我所拥有的,这是否可以实现目标?感谢您的帮助,我仍在学习。
<?php
class Template {
private $breadcrumbs;
public function getBreadcrumbNavigation() {
foreach ($breadcrumbs as $anchorText) {
if ($urlName != $myUrl) {
echo("<li><a href=\"$urlName\">$anchorText</a></li>\n");
} else {
echo("<li>$url</li>\n");
}
}
}
}
class Webpage {
public $anchorText, $myUrl;
}
?>
答案 0 :(得分:0)
所以我将尽力帮助您...但没有给您答案。
要求返回值的问题...因此,此处的回声在技术上不正确。
您在函数内部使用的变量没有意义,它们来自何处?是什么设置它们?
您的foreach行处在正确的轨道上,但请记住任务所说的 breadcrumbs是对象数组,因此所需的值将附加到$anchorText
变量中,该变量将是$breadcrumbs
另外,有效的无序列表具有此结构
<ul><li>STUFF</li><li>MORE STUFF</li></ul>
数组中的最后一个条目是当前页面,应显示锚文本,但周围不应带有锚标签
您的解决方案无法解决此问题。您将能够使用特定函数找出数组中的元素数,并修改foreach
语句以获取索引和值,以找出当前正在迭代的元素。
我也不确定您是否希望$breadcrumbs
作为类变量...可能是getBreadcrumbNavigation
的函数参数
答案 1 :(得分:0)
实例化对象时,必须将$ breadcumbs的值作为参数传递给构造函数,并分配给私有变量以从类进行访问。
假设您的面包屑名称和url名称相同,例如:联系人 /联系/ 笔记本电脑/笔记本电脑/
<?php
class Template {
private $breadcrumbs;
public function __contruct($bd){
$this->breadcrumbs = $bd;
}
public function getBreadcrumbNavigation() {
foreach ($this->breadcrumbs as $anchorText) {
echo "<li><a href='/" . $anchorText .'>" . $anchorText . "</a></li>";
}
}
}
$breadcrumbs= 'Get your Breadcrumbs as an array' ;
$obj = new Template($breadcrumbs);
$obj->getBreadcrumbNavigation();
?>