SluggableAdapter.php 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. namespace Gedmo\Sluggable\Mapping\Event;
  3. use Doctrine\Common\Persistence\Mapping\ClassMetadata;
  4. use Gedmo\Mapping\Event\AdapterInterface;
  5. /**
  6. * Doctrine event adapter interface
  7. * for Sluggable behavior
  8. *
  9. * @author Gediminas Morkevicius <gediminas.morkevicius@gmail.com>
  10. * @package Gedmo\Sluggable\Mapping\Event
  11. * @subpackage SluggableAdapter
  12. * @link http://www.gediminasm.org
  13. * @license MIT License (http://www.opensource.org/licenses/mit-license.php)
  14. */
  15. interface SluggableAdapter extends AdapterInterface
  16. {
  17. /**
  18. * Loads the similar slugs
  19. *
  20. * @param object $object
  21. * @param ClassMetadata $meta
  22. * @param array $config
  23. * @param string $slug
  24. * @return array
  25. */
  26. function getSimilarSlugs($object, ClassMetadata $meta, array $config, $slug);
  27. /**
  28. * Replace part of slug to all objects
  29. * matching $target pattern
  30. *
  31. * @param object $object
  32. * @param array $config
  33. * @param string $target
  34. * @param string $replacement
  35. * @return integer
  36. */
  37. function replaceRelative($object, array $config, $target, $replacement);
  38. /**
  39. * Replace part of slug to all objects
  40. * matching $target pattern and having $object
  41. * related
  42. *
  43. * @param object $object
  44. * @param array $config
  45. * @param string $target
  46. * @param string $replacement
  47. * @return integer
  48. */
  49. function replaceInverseRelative($object, array $config, $target, $replacement);
  50. }