【问题标题】:urlize() in Doctrine_Inflector Class in Doctrine 2 / Symfony 2?Doctrine 2 / Symfony 2 中的 Doctrine_Inflector 类中的 urlize()?
【发布时间】:2013-07-02 07:39:09
【问题描述】:

我一直在寻找一种内置方法来对字符串进行 urlize/slugify,而不是复制在 google 上找到的标准。

因此我找到了这个:http://sourcecookbook.com/en/recipes/59/call-the-slugify-urlize-function-from-doctrine,引用了这个 Doctrine Class http://www.tig12.net/downloads/apidocs/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Doctrine_Inflector.class.html,方法是 urlize(),这正是我正在寻找的。​​p>

但是,在 Symfony 2 的 Doctrine Bundle 中,\vendor\doctrine\common\lib\Doctrine\Common\Util 我的 Inflector 类非常空。

这个urlize() 方法发生了什么?我需要重新编码吗?

【问题讨论】:

    标签: doctrine-orm slug urlize


    【解决方案1】:

    您正在查看的文件 (Doctrine\Common\Util\Inflector) 应该由 Doctrine 内部使用,以在表名(下划线分隔)、属性名(camelCase)和类名(CamelCase)之间进行转换。

    您正在寻找的东西可以通过sluggable 学说扩展来实现。您可以使用stof/StofDoctrineExtensionsBundle 轻松地将其集成到 symfony2 应用程序中。

    【讨论】:

    • 好吧,我猜它是 Doctrine 内部使用的,但我还是想使用它,所以我不会复制任何代码。实际上,我不想只为一个基本功能添加扩展。所以我想我会制作自己的类/功能!
    【解决方案2】:

    https://github.com/Behat/Transliterator 包含 Doctrine1 中的 urlize 函数

    这是从 Doctrine 1.2.3 中提取的部分
    教义变形器具有变形文本的静态方法

    你可以composer require behat/transliterator
    并有一个扩展 Behat\Transliterator 的 HelperClass。

    然后可以做:MyStringHelper::urlize("isn't that great?")

    【讨论】:

      猜你喜欢
      • 2012-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-01
      相关资源
      最近更新 更多