Hallo,
das Thema betrifft nicht nur Symfony, sondern auch Doctrine. Folgendes möchte ich realisieren: ich habe eine Entity-Klasse, die wie nachstehend aufgebaut ist:
Ich benötige zusätzlich den Titel in einer bereinigten Form (slug). Im Laravel-Framework gibt es dazu die Möglichkeit, Funktionen anzulegen, auf die wie Eigenschaften zugegriffen werden kann. Nach langem Googlen habe ich keinen Weg gefunden, der mir sauber erscheint. Gibt es einen sauberen Weg? Oder bleibt nur der folgende Weg:
Eine Funktion anlegen, die die entsprechende Eigenschaft zurück gibt:
Wobei ich hier noch dafür sorgen müsste, dass ich auf den Service "slugify" zugreifen kann, was innerhalb von Entites eigentlich nicht gewollt ist, aber natürlich durch Injection machbar wäre... Ich arbeite noch nicht sehr lange mit Symfony (wie man unschwer erkennen kann) und freue mich über Eure Hilfe. Ich benutze Symfony in Version 2.7.
das Thema betrifft nicht nur Symfony, sondern auch Doctrine. Folgendes möchte ich realisieren: ich habe eine Entity-Klasse, die wie nachstehend aufgebaut ist:
PHP-Code:
<?php
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* News
*
* @ORM\Table(name="news", options={"collate"="utf8mb4_unicode_ci", "charset"="utf8mb4"})
* @ORM\Entity
*/
class News
{
/**
* @var integer
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(length=255)
*/
private $title;
/**
* Get id
*
* @return integer
*/
public function getId()
{
return $this->id;
}
/**
* Set title
*
* @param string $title
* @return News
*/
public function setTitle($title)
{
$this->title = $title;
return $this;
}
/**
* Get title
*
* @return string
*/
public function getTitle()
{
return $this->title;
}
}
Eine Funktion anlegen, die die entsprechende Eigenschaft zurück gibt:
PHP-Code:
public function getSlugTitle()
{
return $this->get('slugify')->slugify($this->title);
}
Kommentar