1<?php 2 3/* 4 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 5 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 6 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 7 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 8 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 9 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 10 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 11 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 12 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 13 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 14 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 15 * 16 * This software consists of voluntary contributions made by many individuals 17 * and is licensed under the MIT license. For more information, see 18 * <http://www.doctrine-project.org>. 19 */ 20 21namespace Doctrine\ORM\Cache; 22 23/** 24 * Defines entity classes roles to be stored in the cache region. 25 * 26 * @since 2.5 27 * @author Fabio B. Silva <fabio.bat.silva@gmail.com> 28 */ 29class EntityCacheKey extends CacheKey 30{ 31 /** 32 * READ-ONLY: Public only for performance reasons, it should be considered immutable. 33 * 34 * @var array The entity identifier 35 */ 36 public $identifier; 37 38 /** 39 * READ-ONLY: Public only for performance reasons, it should be considered immutable. 40 * 41 * @var string The entity class name 42 */ 43 public $entityClass; 44 45 /** 46 * @param string $entityClass The entity class name. In a inheritance hierarchy it should always be the root entity class. 47 * @param array $identifier The entity identifier 48 */ 49 public function __construct($entityClass, array $identifier) 50 { 51 ksort($identifier); 52 53 $this->identifier = $identifier; 54 $this->entityClass = $entityClass; 55 $this->hash = str_replace('\\', '.', strtolower($entityClass) . '_' . implode(' ', $identifier)); 56 } 57} 58