positibe / seo
PositibeLabs 项目的基础 SEO 实体库
0.1.4.0
2017-04-11 03:03 UTC
This package is not auto-updated.
Last update: 2024-09-29 03:36:35 UTC
README
此库为您提供了在实现 Symfony\Cmf\Bundle\SeoBundle\SeoAwareInterface
接口的 doctrine 实体中使用的一些特性。
SeoAwareEntityTrait
该特性为具有与 SEO 元数据实体关联的实体提供了默认映射。
[php]
<?php
namespace Positibe\Component\Seo\Entity;
use Symfony\Cmf\Bundle\SeoBundle\Model\SeoMetadata;
trait SeoAwareEntityTrait {
/**
* @var SeoMetadata
*
* @ORM\ManyToOne(targetEntity="Symfony\Cmf\Bundle\SeoBundle\Model\SeoMetadata", cascade="all")
*/
protected $seoMetadata;
/**
* @return SeoMetadata
*/
public function getSeoMetadata()
{
return $this->seoMetadata;
}
/**
* @param $metadata
* @return $this
*/
public function setSeoMetadata($metadata)
{
$this->seoMetadata = $metadata;
return $this;
}
}
PublishTimePeriodTrait
该特性为存储所有 SEO 元数据数据的 Doctrine 对象的实体提供了默认映射。
[php]
<?php
namespace Positibe\Component\Seo\Entity;
use Symfony\Cmf\Bundle\SeoBundle\Model\SeoMetadata;
trait SeoAwareObjectTrait {
/**
* @var SeoMetadata
*
* @ORM\Column(type="object")
*/
protected $seoMetadata;
/**
* @return SeoMetadata
*/
public function getSeoMetadata()
{
return $this->seoMetadata;
}
/**
* @param $metadata
* @return $this
*/
public function setSeoMetadata($metadata)
{
$this->seoMetadata = $metadata;
return $this;
}
}
使用 PHP 特性
这些是简单的 PHP 特性,因此您可以使用它们。
[php]
namespace Blog\Entity;
use Symfony\Cmf\Bundle\SeoBundle\SeoAwareInterface;
use Positibe\Component\Seo\Entity\SeoAwareEntityTrait;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table()
* @ORM\Entity
*/
class Post implement SeoAwareInterface
{
use SeoAwareEntityTrait;
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
}
注意,您无需创建任何内容即可实现这些接口。
注意: 要使用特性系统,您需要使用 PHP > 5.4。