SlugHandlerInterface.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. <?php
  2. namespace Gedmo\Sluggable\Handler;
  3. use Doctrine\Common\Persistence\ObjectManager;
  4. use Doctrine\Common\Persistence\Mapping\ClassMetadata;
  5. use Gedmo\Sluggable\SluggableListener;
  6. use Gedmo\Sluggable\Mapping\Event\SluggableAdapter;
  7. interface SlugHandlerInterface
  8. {
  9. /**
  10. * Construct the slug handler
  11. *
  12. * @param Doctrine\Common\Persistence\ObjectManager $om
  13. * @param Gedmo\Sluggable\SluggableListener $sluggable
  14. * @param array $options
  15. */
  16. function __construct(ObjectManager $om, SluggableListener $sluggable, array $options);
  17. /**
  18. * Callback on slug handlers right after the slug is built
  19. *
  20. * @param Gedmo\Sluggable\Mapping\Event\SluggableAdapter $ea
  21. * @param array $config
  22. * @param object $object
  23. * @param string $slug
  24. * @return void
  25. */
  26. function postSlugBuild(SluggableAdapter $ea, array &$config, $object, &$slug);
  27. /**
  28. * Callback for slug handlers on slug completion
  29. *
  30. * @param Gedmo\Sluggable\Mapping\Event\SluggableAdapter $ea
  31. * @param array $config
  32. * @param object $object
  33. * @param string $slug
  34. * @return void
  35. */
  36. function onSlugCompletion(SluggableAdapter $ea, array &$config, $object, &$slug);
  37. /**
  38. * Validate handler options
  39. *
  40. * @param array $options
  41. */
  42. static function validate(array $options, ClassMetadata $meta);
  43. }