Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony-从名称创建url_Symfony_Doctrine Orm - Fatal编程技术网

Symfony-从名称创建url

Symfony-从名称创建url,symfony,doctrine-orm,Symfony,Doctrine Orm,有人能解释一下,如何在不使用现有slug库的情况下创建侦听器来从name字段填充url字段吗 例如: Name filed: this is an example #1 Url field: this-is-an-example-1 现在我在实体的构造函数中有了它。。。但我想知道如何使用侦听器。。。我在谷歌上找不到这样的例子 谢谢你你可以试试这样的东西: /** * @ORM\HasLifecycleCallbacks() */ class YourEntity { /** *

有人能解释一下,如何在不使用现有slug库的情况下创建侦听器来从name字段填充url字段吗

例如:

Name filed: this is an example #1
Url field: this-is-an-example-1
现在我在实体的构造函数中有了它。。。但我想知道如何使用侦听器。。。我在谷歌上找不到这样的例子


谢谢你

你可以试试这样的东西:

/**
 * @ORM\HasLifecycleCallbacks()
 */
class YourEntity
{
  /**
   * @ORM\PrePersist
   */
  public function slugify()
  {
    $name = $this->getName();
    $slug = functionToSlugify($name)
    $this->setUrl($slug);
  }
}
因此,您可以创建自己的slugify函数,在持久化实体之前,它将为您设置url

也就是说,我强烈推荐条令扩展包:


没有必要重新发明轮子…

谢谢,就这样?我想我必须在新文件夹中创建类,比如“侦听器”,然后创建服务,然后以某种方式在实体中调用它。PS:我想要它,不仅仅是为了slug,我还想了解它是如何工作的,以及它将来如何帮助我。因为正如我所说的,我总是使用_构造函数。你可以为它创建一个侦听器或订户,但在这种情况下,这太过分了。只需使用本地侦听器。