Proxy.php 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <?php
  2. namespace Doctrine\Common\Proxy;
  3. use Closure;
  4. use Doctrine\Common\Persistence\Proxy as BaseProxy;
  5. /**
  6. * Interface for proxy classes.
  7. *
  8. * @author Roman Borschel <roman@code-factory.org>
  9. * @author Marco Pivetta <ocramius@gmail.com>
  10. * @since 2.4
  11. *
  12. * @deprecated The Doctrine\Common\Proxy component is deprecated, please use ocramius/proxy-manager instead.
  13. */
  14. interface Proxy extends BaseProxy
  15. {
  16. /**
  17. * Marks the proxy as initialized or not.
  18. *
  19. * @param boolean $initialized
  20. *
  21. * @return void
  22. */
  23. public function __setInitialized($initialized);
  24. /**
  25. * Sets the initializer callback to be used when initializing the proxy. That
  26. * initializer should accept 3 parameters: $proxy, $method and $params. Those
  27. * are respectively the proxy object that is being initialized, the method name
  28. * that triggered initialization and the parameters passed to that method.
  29. *
  30. * @param Closure|null $initializer
  31. *
  32. * @return void
  33. */
  34. public function __setInitializer(Closure $initializer = null);
  35. /**
  36. * Retrieves the initializer callback used to initialize the proxy.
  37. *
  38. * @see __setInitializer
  39. *
  40. * @return Closure|null
  41. */
  42. public function __getInitializer();
  43. /**
  44. * Sets the callback to be used when cloning the proxy. That initializer should accept
  45. * a single parameter, which is the cloned proxy instance itself.
  46. *
  47. * @param Closure|null $cloner
  48. *
  49. * @return void
  50. */
  51. public function __setCloner(Closure $cloner = null);
  52. /**
  53. * Retrieves the callback to be used when cloning the proxy.
  54. *
  55. * @see __setCloner
  56. *
  57. * @return Closure|null
  58. */
  59. public function __getCloner();
  60. /**
  61. * Retrieves the list of lazy loaded properties for a given proxy
  62. *
  63. * @return array Keys are the property names, and values are the default values
  64. * for those properties.
  65. */
  66. public function __getLazyProperties();
  67. }