我正在使用zf2和doctrine构建一个网站。如何将永久链接保存到我的数据库?什么是最好的方法?我应该在我的实体中保存固定链接吗?
//Product Doctirine Entity
public function setProdName($prodName){
$this->prodName = $prodName;
//is this right way?
$this->setSeoLink = urlhelper->url($prodName);
}
答案 0 :(得分:0)
我建议您使用哈希创建您的网址,例如
/this-is-the-product-title-xyz123.html
其中xyz123是您产品的哈希值。
这样做你将拥有这些优势
1)您可以随时更改您的产品名称,即使是搜索引擎也可以随时访问您的产品,或者其他网站中的链接都是旧产品,例如两者
/this-is-my-product-xyz123.html
和
/this-is-my-wonderful-product-xyz123.html
会奏效。
2)你没有向人们展示真实的身份。
为了实现这一点,我使用了HashId模块,创建了一个返回已配置对象的工厂服务,然后您可以使用以下代码加密/描述:
$hashids = $this->getServiceLocator()->get('my.service.hashid');
// decrypt having hash
$id = $hashids->decrypt($hash);
// encrypt having id
$hash = $hashids->encrypt($id);
.html后缀就是示例,您可以根据需要创建自己的网址。