开发者

Expected path to Sluggable builder in Symfony/Doctrine

开发者 https://www.devze.com 2023-01-27 17:54 出处:网络
The default string normalization (provided by the Doctrine_Inflector::urlize() \"sluggifier\") isn\'t suitable for my project, so I need to utilize my own algorithm.

The default string normalization (provided by the Doctrine_Inflector::urlize() "sluggifier") isn't suitable for my project, so I need to utilize my own algorithm.

I set my schema up as follows:

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

And I added my utility class to the lib folder of my project (although I also tried the lib folder of an app) according to some instructions I found in another forum:

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

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

        return $str;
    }
}
?>

When I run symfony doctrine:build --all I'm greeted by the following error:

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
开发者_开发百科

I assume I'm just putting my utility in the wrong place and it's not being loaded when needed. Am I putting it in the wrong place? Doctrine's documentation doesn't seem to mention the subject, unless I'm just looking at the wrong page.


arrays in YAML are defined other way:

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

精彩评论

暂无评论...
验证码 换一张
取 消