public static function init()
 {
     if (!isset(self::$instance)) {
         self::$instance = new QInflector();
     }
     return self::$instance;
 }
Exemple #2
0
 public function toNamespace($className = null, $separator = self::dot, $reduce = 1)
 {
     self::$separator = $separator;
     if (self::$mode == true) {
         $className = is_string($className) ? $className : self::$working;
         if (strstr($className, self::$separator)) {
             $arrClassName = array_reverse(explode(self::$separator, $className));
         } else {
             $underscore = QTool::init()->toUnderscore($className);
             $array = QTool::init()->toArray($underscore, self::uscore);
             self::$mode = true;
             $arrClassName = array_reverse($array);
         }
         $arrNamespace = array();
         foreach ($arrClassName as $key => $strName) {
             $arrNamespace[] = $key < count($arrClassName) - 1 ? QInflector::init()->pluralize($strName) : $strName;
         }
         self::set(implode(self::dot, $arrNamespace));
         self::$separator = self::dot;
         return $this;
     } else {
         $arrClassName = strstr($className, self::$separator) ? array_reverse(explode(self::$separator, $className)) : array_reverse(QTool::init()->toArray(QTool::init()->toUnderscore($className)), self::$separator);
         $arrNamespace = array();
         foreach ($arrClassName as $key => $strName) {
             $arrNamespace[] = $key < count($arrClassName) - $reduce ? QInflector::init()->pluralize($strName) : $strName;
         }
         return implode(self::dot, $arrNamespace);
     }
 }