Pimcore\Logger::critical PHP Method

critical() public static method

public static critical ( $m, $context = [] )
    public static function critical($m, $context = [])
    {
        self::log($m, "critical", $context);
    }

Usage Example

Example #1
0
 /**
  * @param null $key
  * @param bool $forceDetection
  * @throws \Exception
  */
 public function initDao($key = null, $forceDetection = false)
 {
     $myClass = get_class($this);
     $cacheKey = $myClass . ($key ? "-" . $key : "");
     $dao = null;
     if (!$forceDetection && array_key_exists($cacheKey, self::$daoClassCache)) {
         $dao = self::$daoClassCache[$cacheKey];
     } elseif (!$key || $forceDetection) {
         $classes = $this->getParentClasses($key ? $key : $myClass);
         foreach ($classes as $class) {
             $delimiter = "_";
             // old prefixed class style
             if (strpos($class, "\\")) {
                 $delimiter = "\\";
                 // that's the new with namespaces
             }
             $classParts = explode($delimiter, $class);
             $length = count($classParts);
             $className = null;
             for ($i = 0; $i < $length; $i++) {
                 // check for a general dao adapter
                 $tmpClassName = implode($delimiter, $classParts) . $delimiter . "Dao";
                 if ($className = $this->determineResourceClass($tmpClassName)) {
                     break;
                 }
                 // check for the old style resource adapter
                 $tmpClassName = implode($delimiter, $classParts) . $delimiter . "Resource";
                 if ($className = $this->determineResourceClass($tmpClassName)) {
                     break;
                 }
                 array_pop($classParts);
             }
             if ($className) {
                 $dao = $className;
                 self::$daoClassCache[$cacheKey] = $dao;
                 break;
             }
         }
     } elseif ($key) {
         $delimiter = "_";
         // old prefixed class style
         if (strpos($key, "\\") !== false) {
             $delimiter = "\\";
             // that's the new with namespaces
         }
         $dao = $key . $delimiter . "Dao";
         self::$daoClassCache[$cacheKey] = $dao;
     }
     if (!$dao) {
         Logger::critical("No dao implementation found for: " . $myClass);
         throw new \Exception("No dao implementation found for: " . $myClass);
     }
     $dao = "\\" . ltrim($dao, "\\");
     $this->dao = new $dao();
     $this->dao->setModel($this);
     $this->dao->configure();
     if (method_exists($this->dao, "init")) {
         $this->dao->init();
     }
 }