Appearance
\Realweb\Api\Model\Utils\Helper
Данный класс призван облегчить процесс разработки и содержит некоторые часто встречающиеся функции.
Склонение слова
public static function declOfNum(int $iNumber, array $arTitles): string Возвращает склонение слова в зависимости от числа
php
use Realweb\Api\Model\Utils;
$iValue = 5;
echo Utils\Helper::declOfNum($iValue,array("день","дня","дней")); //днейpublic static function morph(int $iNumber, string $strVariant1, string $strVariant2, string $strVariant5): string
Обертка над методом declOfNum, где вместо массива принимаются последовательно варианты склонений. Для удобства использования.
php
use Realweb\Api\Model\Utils;
$iValue = 3;
echo Utils\Helper::morph($iValue,"день","дня","дней"); //дняВывод цены
public static function getFormatPrice(float | int $fPrice): string Возвращает стандартное форматирование стоимости
php
use Realweb\Api\Model\Utils;
$fValue = 5058356;
echo Utils\Helper::getFormatPrice($fValue);//5 058 356Транслит
public static function getTranslit(string $strString): string
Возвращает транслитерацию слова по стандартным правилам
php
use Realweb\Api\Model\Utils;
$strValue = "Название элемента инфоблока";
echo Utils\Helper::getTranslit($strValue);//nazvanie-elementa-infoblokaРегистр букв
public static function upFirst(string $strString, string $strEncoding = 'UTF-8'): string
Возвращает строку с заглавной буквой
php
use Realweb\Api\Model\Utils;
$strValue = "нАзВаНиЕ эЛеМеНтА иНфОбЛоКа";
echo Utils\Helper::upFirst($strValue);//Название элемента инфоблокаpublic static function toLower(array | string $mString): array | string
Переводит значение в нижний регистр. Если аргумент является массивом - рекурсивно переводит и ключи и значения массива в нижний регистр
php
use Realweb\Api\Model\Utils;
$arValue = array(
"fOoBaR" => "нАзВаНиЕ эЛеМеНтА иНфОбЛоКа",
);
print_r(Utils\Helper::toLower($arValue)); //Array ( [foobar] => название элемента инфоблока )public static function toUpper(array | string $mString): array | string
Переводит значение в верхний регистр. Если аргумент является массивом - рекурсивно переводит и ключи и значения массива в верхний регистр
php
use Realweb\Api\Model\Utils;
$arValue = array(
"fOoBaR" => array(
"нАзВаНиЕ эЛеМеНтА иНфОбЛоКа"=>"BarFo"
),
);
print_r(Utils\Helper::toUpper($arValue)); // Array ( [FOOBAR] => Array ( [НАЗВАНИЕ ЭЛЕМЕНТА ИНФОБЛОКА] => BARFO ) )public static function toCamelCase(array | string $mString, string $strDelimiter = '_'): array | string
Переводит строку в camelcase стиль по разделителю. В качестве аргумента может принимать массив - в таком случае перевод в camelcase будут переведены ключи массива.
php
use Realweb\Api\Model\Utils;
$strPropertyName = "RESULT_USER_NAME";
print_r(Utils\Helper::toCamelCase($strPropertyName)); // resultUserName
$arValue = array(
'RESULT_USER_NAME'=>'Иванов Иван Иванович',
'RESULT_USER_EMAIL'=>'ivanov@runway-agency.ru'
);
print_r(Utils\Helper::toCamelCase($arValue));
// Array ( [resultUserName] => Иванов Иван Иванович [resultUserEmail] => ivanov@runway-agency.ru )Текущий host
public static function getSiteHost(): string
Получение текущего хоста сайта со схемой http в виде строки
Cookie
public static function getCookie(string $strCookieName, ?string $strDefault = null): ?string Получение значение cookie с возможностью указать значение по умолчанию
public static function setCookie(string $strCookieName, string $strValue, ?int $iExpire = null): void Установка cookie
Время
public static function timeToSec(string $strTime): int
Перевод времени в формате H:i:s в количество секунд от 00:00:00
php
use ealweb\Api\Model\Utils;
$strTime = date("00:01:30");
print_r(Utils\Helper::timeToSec($strTime)); // 90public static function secToTime(int $iSeconds): string
Перевод количества секунд от 00:00:00 в формат времени H:i:s
php
use Realweb\Api\Model\Utils;
$iTime = 5690;
print_r(Utils\Helper::secToTime($iTime)); // 01:34:50Режим разработки
public static function isDevelop(): bool Проверка окружения для разработчиков
Предварительно, необходимо должным образом настроить веб сервер/сайт
Для этого в конфиге nginx требуется указать
nginx
server {
...
location / {
...
fastcgi_param APPLICATION_ENV develop;
}
}