public function getUniqueID()
{
if ($this->_uid === '' || $this->_uid === null) {
$this->_uid = '';
// set to not-null, so that clearCachedUniqueID() may take action
if ($namingContainer = $this->getNamingContainer()) {
if ($this->getPage() === $namingContainer) {
return $this->_uid = $this->_id;
} else {
if (($prefix = $namingContainer->getUniqueID()) === '') {
return $this->_id;
} else {
return $this->_uid = $prefix . self::ID_SEPARATOR . $this->_id;
}
}
} else {
// no naming container
return $this->_id;
}
} else {
return $this->_uid;
}
}