什么是使用zf2和doctrine2永久链接数据库的最佳方法?

时间:2014-04-28 22:55:56

标签: doctrine-orm zend-framework2 permalinks

我正在使用zf2和doctrine构建一个网站。如何将永久链接保存到我的数据库?什么是最好的方法?我应该在我的实体中保存固定链接吗?

//Product Doctirine Entity

public function setProdName($prodName){
     $this->prodName = $prodName;

     //is this right way?
     $this->setSeoLink = urlhelper->url($prodName);
}

1 个答案:

答案 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后缀就是示例,您可以根据需要创建自己的网址。