Example #1
0
 /**
  * @param string $className
  * @return string
  */
 public function transformClassNameToTableName($className)
 {
     $tableName = StringUtils::getClassBaseName($className);
     $tableName = Inflector::underscore($tableName);
     $tableName = Inflector::pluralize($tableName);
     return $tableName;
 }
Example #2
0
 /**
  * @return string
  */
 public function getMessage()
 {
     $template = $this->getMessageTemplate();
     if (!$template) {
         return '';
     }
     $data = $this->getDataForMessage();
     if ($this->translator) {
         return $this->translator->translate($template, $data);
     }
     return StringUtils::format($template, $data);
 }
Example #3
0
 /**
  * @param $size
  * @return string
  */
 public static function createRandomKey($size)
 {
     if ($size instanceof self) {
         $size = $size->getMaxKeySize();
     }
     return StringUtils::random($size, StringUtils::RANDOM_ALL);
 }
Example #4
0
 /**
  * @param $expr
  * @param $params
  * @return mixed|string
  */
 public static function bind($expr, $params)
 {
     if (preg_match('/^[\\w\\.]+$/', $expr)) {
         $expr = $expr . ' = ?';
     }
     if (null === $params && preg_match('/^([\\w\\.]+)\\s*(!)?\\=\\s*\\?$/', $expr, $matches)) {
         $expr = $matches[1];
         return $expr . (isset($matches[2]) ? ' IS NOT NULL' : ' IS NULL');
     }
     if (preg_match('/^([\\w\\.]+)\\s+(NOT\\s+)?IN\\s*\\(\\?\\)$/i', $expr, $matches)) {
         $params = self::quote($params);
         if (is_array($params)) {
             $params = implode(', ', $params);
         }
         return $matches[1] . (isset($matches[2]) ? ' NOT' : '') . ' IN (' . $params . ')';
     }
     if (preg_match('/^([\\w\\.]+)\\s+(NOT\\s+)?LIKE\\s*(%)?\\?(%)?$/i', $expr, $matches)) {
         $params = self::escape($params);
         return $matches[1] . ($matches[2] ? ' NOT' : '') . ' LIKE \'' . (!empty($matches[3]) ? '%' : '') . $params . (!empty($matches[4]) ? '%' : '') . '\'';
     }
     if (!is_array($params)) {
         $params = [$params];
     }
     $params = self::quote($params);
     return StringUtils::format($expr, $params);
 }
Example #5
0
 public function testFormatWithArgs()
 {
     $this->assertSame('foo bar', StringUtils::format(':0 :1', 'foo', 'bar'));
 }
Example #6
0
 /**
  * @return array
  */
 public function getMessages()
 {
     $messages = [];
     $translator = $this->getTranslator();
     foreach ($this->getMessageTemplates() as $name => $data) {
         if ($translator) {
             $message = $translator->translate($data['template'], $data['data']);
         } else {
             $message = StringUtils::format($data['template'], $data['data']);
         }
         $messages[$name] = $message;
     }
     return $messages;
 }
Example #7
0
 /**
  * @return string
  */
 public function getNamespaceName()
 {
     return StringUtils::getNamespace(get_called_class());
 }
Example #8
0
 /**
  * @param string $key
  * @param array $params
  * @param int $number
  * @return string
  */
 public function translate($key, $params = [], $number = null)
 {
     if (!is_array($params) && !$number) {
         $number = $params;
         $params = null;
     }
     $message = $this->getMessage($key, $number);
     if ($params) {
         $message = StringUtils::format($message, $params);
     }
     return $message;
 }