2013-07-04 2 views
1

Я искал встроенный метод для urlize/slugify строки, вместо копирования strandard, найденного в google.urlize() в классе Doctrine_Inflector в доктрине 2/Symfony 2?

Таким образом, я нашел это: http://sourcecookbook.com/en/recipes/59/call-the-slugify-urlize-function-from-doctrine, ссылаясь на эту доктрину класса http://www.tig12.net/downloads/apidocs/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Doctrine_Inflector.class.html, с помощью метода urlize() который является именно то, что я ищу.

Но, в моем Доктринальном комплекте из Symfony 2, в \vendor\doctrine\common\lib\Doctrine\Common\Util мой класс Inflector довольно пуст.

Что случилось с этим методом urlize()? Должен ли я его перекодировать?

ответ

1

Файл, который вы ищете (Doctrine \ Common \ Util \ Inflector), должен использоваться внутри Doctrine для преобразования между именами таблиц (выделение подчеркиванием), именами свойств (camelCase) и именами классов (CamelCase) ,

То, что вы ищете, может быть достигнуто с помощью расширения доктрины sluggable. Вы можете легко интегрировать его в приложение symfony2 с помощью stof/StofDoctrineExtensionsBundle.

+0

Ну, я предположил, что это использовалось внутренне доктриной, но я хотел в любом случае, чтобы использовать его, так что я не дублировать любой код. На самом деле, я не хочу добавлять расширение только для одной базовой функции. Поэтому я думаю, что создам свой собственный класс/функцию! – Bonswouar

2

Там в https://github.com/Behat/Transliterator, который включает в себя функцию urlize от Doctrine1

Это часть взята из доктрины 1.2.3
Учение инфлектор имеет статические методы для словоизменительного текста

Вы могли бы просто composer require behat/transliterator
и удлинитель HelperClass Behat\Transliterator.

А потом быть в состоянии сделать: MyStringHelper::urlize("isn't that great?")