Нормализация строки по умолчанию (предоставляемая * sluggifier Doctrine_Inflector::urlize()
) не подходит для моего проекта, поэтому мне нужно использовать мой собственный алгоритм.
Я настроил свою схему следующим образом:
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
Я предполагаю, что просто помещаю свою утилиту в неправильное место, и она не загружается при необходимости. Я помещаю это в неправильное место? Документация Доктрины , кажется, не упоминает предмет, если я просто смотрю не на ту страницу.