本文整理汇总了PHP中Pimcore\Model\Document::getDao方法的典型用法代码示例。如果您正苦于以下问题:PHP Document::getDao方法的具体用法?PHP Document::getDao怎么用?PHP Document::getDao使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pimcore\Model\Document
的用法示例。
在下文中一共展示了Document::getDao方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getById
/**
* Static helper to get a Document by it's id, only type Document is returned, not Document\Page, ... (see getConcreteById() )
*
* @param integer $id
* @return Document
*/
public static function getById($id)
{
$id = intval($id);
if ($id < 1) {
return null;
}
$cacheKey = "document_" . $id;
try {
$document = \Zend_Registry::get($cacheKey);
if (!$document) {
throw new \Exception("Document in registry is null");
}
} catch (\Exception $e) {
try {
if (!($document = \Pimcore\Cache::load($cacheKey))) {
$document = new Document();
$document->getDao()->getById($id);
$className = "Pimcore\\Model\\Document\\" . ucfirst($document->getType());
// this is the fallback for custom document types using prefixes
// so we need to check if the class exists first
if (!Tool::classExists($className)) {
$oldStyleClass = "Document_" . ucfirst($document->getType());
if (Tool::classExists($oldStyleClass)) {
$className = $oldStyleClass;
}
}
$document = \Pimcore::getDiContainer()->make($className);
\Zend_Registry::set($cacheKey, $document);
$document->getDao()->getById($id);
\Pimcore\Cache::save($document, $cacheKey);
} else {
\Zend_Registry::set($cacheKey, $document);
}
} catch (\Exception $e) {
\Logger::warning($e->getMessage());
return null;
}
}
if (!$document) {
return null;
}
return $document;
}
示例2: pathExists
/**
* @static
* @param $path
* @return bool
*/
public static function pathExists($path, $type = null)
{
$path = Element\Service::correctPath($path);
try {
$document = new Document();
// validate path
if (\Pimcore\Tool::isValidPath($path)) {
$document->getDao()->getByPath($path);
return true;
}
} catch (\Exception $e) {
}
return false;
}