本文整理汇总了PHP中Pimcore_Resource::getType方法的典型用法代码示例。如果您正苦于以下问题:PHP Pimcore_Resource::getType方法的具体用法?PHP Pimcore_Resource::getType怎么用?PHP Pimcore_Resource::getType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Pimcore_Resource
的用法示例。
在下文中一共展示了Pimcore_Resource::getType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: initResource
/**
* @throws Exception
* @param string $key
* @return void
*/
public function initResource($key = null)
{
$myClass = get_class($this);
$resource = null;
if (!$key) {
// check for a resource in the cache
if (array_key_exists($myClass, self::$resourceClassCache)) {
$resource = self::$resourceClassCache[$myClass];
} else {
$classes = $this->getParentClasses($myClass);
foreach ($classes as $class) {
$classParts = explode("_", $class);
$length = count($classParts);
$className = null;
for ($i = 0; $i < $length; $i++) {
// check for a specialized resource adapter for the current DBMS
$tmpClassName = implode("_", $classParts) . "_Resource_" . ucfirst(Pimcore_Resource::getType());
if ($className = $this->determineResourceClass($tmpClassName)) {
break;
}
// check for a general DBMS resource adapter
$tmpClassName = implode("_", $classParts) . "_Resource";
if ($className = $this->determineResourceClass($tmpClassName)) {
break;
}
array_pop($classParts);
}
if ($className) {
Logger::debug("Find resource implementation " . $className . " for " . $myClass);
$resource = $className;
self::$resourceClassCache[$myClass] = $resource;
break;
}
}
}
} else {
// check for a specialized resource adapter for the current DBMS
$resourceClass = $key . "_Resource_" . ucfirst(Pimcore_Resource::getType());
if (!($resource = $this->determineResourceClass($resourceClass))) {
$resource = $key . "_Resource";
}
}
if (!$resource) {
Logger::critical("No resource implementation found for: " . $myClass);
throw new Exception("No resource implementation found for: " . $myClass);
}
$this->resource = new $resource();
$this->resource->setModel($this);
$db = Pimcore_Resource::get();
$this->resource->configure($db);
if (method_exists($this->resource, "init")) {
$this->resource->init();
}
}