/** * @used-by Df_Admin_Config_Font::applyLetterCase() * @param string $text * @param string $format * @return string */ public static function apply($text, $format) { /** @var string $result */ switch ($format) { case self::$LOWERCASE: $result = mb_strtolower($text); break; case self::$UPPERCASE: $result = mb_strtoupper($text); break; case self::$UCFIRST: $result = df_ucfirst(mb_strtolower(df_trim($text))); break; case self::$UCWORDS: $result = df_ucwords($text); break; default: $result = $text; } /** * Убрал валидацию результата намеренно: сам метод безобиден, * и даже если он как-то неправильно будет работать — ничего страшного. * Пока метод дал сбой только один раз, в магазине laap.ru * при форматировании заголовков административной таблицы товаров * (видимо, сбой произошёл из-за влияния некоего стороннего модуля). */ return $result; }
/** * 2016-08-10 * REFUND_ISSUED => RefundIssued * refund_issuED => RefundIssued * @param string[] ...$args * @return string|string[] */ function df_underscore_to_camel(...$args) { return df_call_a(function ($s) { return implode(df_ucfirst(explode('_', mb_strtolower($s)))); }, $args); }
/** * 2016-03-25 * Применение @uses dfa_flatten() делает возможным вызовы типа: * df_cc_class_uc('aa', ['bb', 'cc']) => Aa\Bb\Cc * Мы используем это в модулях Stripe и Checkout.com. * @see df_cc_class() * @param string[] ...$args * @return string */ function df_cc_class_uc(...$args) { return df_cc_class(df_ucfirst(dfa_flatten($args))); }