Skip to content

\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 в виде строки

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)); // 90

public 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;
  }
}