12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- <?php
- /*
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * This software consists of voluntary contributions made by many individuals
- * and is licensed under the LGPL. For more information, see
- * <http://www.doctrine-project.org>.
- */
- namespace Doctrine\Common\Persistence;
- use Doctrine\Common\Persistence\Mapping\ClassMetadata;
- /**
- * Makes a Persistent Objects aware of its own object-manager.
- *
- * Using this interface the managing object manager and class metadata instances
- * are injected into the persistent object after construction. This allows
- * you to implement ActiveRecord functionality on top of the persistance-ignorance
- * that Doctrine propagates.
- *
- * Word of Warning: This is a very powerful hook to change how you can work with your domain models.
- * Using this hook will break the Single Responsibility Principle inside your Domain Objects
- * and increase the coupling of database and objects.
- *
- * Every ObjectManager has to implement this functionality itself.
- *
- * @author Benjamin Eberlei <kontakt@beberlei.de>
- */
- interface ObjectManagerAware
- {
- /**
- * Injects responsible ObjectManager and the ClassMetadata into this persistent object.
- *
- * @param ObjectManager $objectManager
- * @param ClassMetadata $classMetadata
- */
- public function injectObjectManager(ObjectManager $objectManager, ClassMetadata $classMetadata);
- }
|