SluggableAdapter.php 1.4 KB

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