/** * @param string $className * @return string */ public function transformClassNameToTableName($className) { $tableName = StringUtils::getClassBaseName($className); $tableName = Inflector::underscore($tableName); $tableName = Inflector::pluralize($tableName); return $tableName; }
/** * @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); }
/** * @param $size * @return string */ public static function createRandomKey($size) { if ($size instanceof self) { $size = $size->getMaxKeySize(); } return StringUtils::random($size, StringUtils::RANDOM_ALL); }
/** * @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); }
public function testFormatWithArgs() { $this->assertSame('foo bar', StringUtils::format(':0 :1', 'foo', 'bar')); }
/** * @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; }
/** * @return string */ public function getNamespaceName() { return StringUtils::getNamespace(get_called_class()); }
/** * @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; }