在CakePHP中,为什么使用HTML->link而不是手动编写锚文本


In CakePHP, Why using HTML->link instead of manually writing an anchor text?

开发时间是不是慢了很多?

HTML>链接的优点是什么?

谢谢!

这只是一个问题,你是想生成自己的URL并对其进行硬编码,还是希望Cake为您完成工作。对于使用蛋糕指向您网站首页的简单网址可能看起来更慢,但它实际上对动态网址很有用,例如:

假设您正在打印一个项目表,并且您有一个删除该项目的每个项目的链接。您可以使用以下方法轻松创建此内容:

    <?php
    echo $this->Html->link(
    'Delete',
    array('controller' => 'recipes', 'action' => 'delete', $id),
    array(),
    "Are you sure you wish to delete this recipe?"
);

请注意,使用将控制器和操作指定为 URL 的数组如何允许您与任何自定义路由无关。这可能有其优点。

在没有 HTML 帮助程序的情况下执行此操作的相应方法是:

<a href="/recipes/delete/<?php echo $id; ?>" onclick="return confirm('Are you sure you wish to delete this recipe?');">Delete</a>

它对于自动构造 URL 查询字符串也非常有用。例如,您可以以数组格式执行此操作:

<?php
echo $this->Html->link('View image', array(
    'controller' => 'images',
    'action' => 'view',
    1,
    '?' => array('height' => 400, 'width' => 500))
);

然后输出以下 HTML 行:

<a href="/images/view/1?height=400&width=500">View image</a>

手动生成该 URL 可能会很痛苦。


总之,虽然对于简单的链接来说似乎很尴尬,但 HTML 帮助程序肯定有其用途。有关进一步的使用,请参阅有关HTML帮助程序链接函数的cakePHP书籍。