stofdoctrineextensionsbundle - symfony softdelete
Generando babosas de doctrina manualmente (2)
Estoy usando comportamiento sluggable en mi proyecto Symfony2, pero ahora me gustaría hacer muchos slugs para una página, basados en diferentes textos (título actual, título (s) antiguo (s), texto de usuario de entrada de formulario) y mantenerlo en otro mesa. Y mi pregunta es: ¿cómo usar manualmente las extensiones de doctrina para cualquier texto? No puedo encontrarlo por ninguna parte. Perfecto sería algo así como:
/* careful - it''s not a real, working code! */
$sluggable = new DoctrineSluggable();
$slug = $sluggable->generate(''My own text!'');
echo $slug; // my-own-text
Encuentre el código de doctrina para generar un slug aquí: l3pp4rd / DoctrineExtensions . Jugar con esa clase podría hacer lo que usted desee, pero es probable que necesite crear su propio servicio para implementar un uso fácil como lo desee. Consulte la sección Contenedor de servicios de los documentos para obtener más detalles sobre los servicios.
Encontré solución por accidente aquí . Código:
use Gedmo/Sluggable/Util as Sluggable;
$string = ''My own text!'';
$slug = Sluggable/Urlizer::urlize($string, ''-'');
if(empty($slug)) // if $string is like ''=))'' or ''トライアングル・サービス'' an empty slug will be returned, that causes troubles and throws no exception
echo ''error, empty slug!!!'';
else
echo $slug;