【问题标题】:Expected path to Sluggable builder in Symfony/DoctrineSymfony/Doctrine 中 Sluggable 构建器的预期​​路径
【发布时间】:2011-05-18 20:50:45
【问题描述】:

默认的字符串规范化(由Doctrine_Inflector::urlize()“sluggifier”提供)不适合我的项目,所以我需要使用自己的算法。

我将架构设置如下:

MyObject:
  actAs:
    Sluggable:
      fields: [name]
      builder: array('TextUtility', 'normalize')
  columns:
    name: string(255)

根据我在另一个论坛中找到的一些说明,我将我的实用程序类添加到我的项目的 lib 文件夹中(尽管我也尝试了应用程序的 lib 文件夹):

<?php
//lib/TextUtility.class.php

class TextUtility {
    public static function normalize($str) {
        /* ... */

        return $str;
    }
}
?>

当我运行 symfony doctrine:build --all 时,出现以下错误:

Warning: call_user_func_array() expects parameter 1 to be a valid callback, function 'array('TextUtility', 'normalize')' not found or invalid function name in /symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Template/Listener/Sluggable.php on line 171

我认为我只是将我的实用程序放在了错误的位置,并且在需要时没有加载它。我把它放错地方了吗? Doctrine's documentation 似乎没有提及主题,除非我只是看错了页面。

【问题讨论】:

    标签: php symfony1 doctrine slug


    【解决方案1】:

    YAML 中的数组以其他方式定义:

    MyObject:
      actAs:
        Sluggable:
          builder: [TextUtility, normalize]
    

    【讨论】:

    • 哇,这么明显,我不敢相信我错过了。谢谢!
    猜你喜欢
    • 2016-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-18
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多