Вспомогательные классы

В системе есть ряд вспомогательных классов, для часто-используемых операций

  • Format (Kernel\Framework\Format) — Используется для получения форматированного вывода
  • String (Kernel\Framework\String) — различные строковые операции
  • Transfer (Kernel\Framework\Transfer) — curl запросы
  • UploadHelper (Kernel\Framework\UploadHelper) — для работы с references.upload и физическими файлами

Format

use Kernel\Framework\Format;

Глобальные константы формата даты:

"DB_FORMAT"               => "Y-m-d H:i:s"
"DB_FORMAT_RENDER"        => "d.m.Y H:i:s"
"DB_FORMAT_MINUTE"        => "Y-m-d H:i"
"DB_FORMAT_MINUTE_RENDER" => "d.m.Y H:i"
"DB_FORMAT_SHORT"         => "Y-m-d"
"DB_FORMAT_SHORT_RENDER"  => "d.m.Y"
"DB_FORMAT_TIME"          => "H:i"
"DB_FORMAT_TIME_FULL"     => "H:i:s"
"DB_FORMAT_ATOM"          => "Y-m-d\TH:i:sP"

Получить чистый номер телефона без форматирования

String public static function parsePhone(String $phone, String $prepend=»8″)
$phone — форматированный телефон
$prepend — что подставлять перед номером

Пример:


Получить форматированный номер телефона

String public static function renderPhone(String $phone)
$phone — любой формат телефон

Пример:


Получить формат даты по умолчанию для БД

String public static function DBFormat(Bool $onlyDate = false)
$onlyDate — если true то время будет отсекаться

Получить between фильтр для orm

String public static function DateBetween(int|String $valueStart, int|string|null $valueEnd = null, Bool $isShort = false, Bool $appendDay = true)
$valueStart — Дата начала. задается или строкой или timestamp.
$valueEnd — Дата окончания. задается или строкой или timestamp. Если не задан, устанавливается текущая дата и время;
$isShort — если true, то участвовать будет только дата, а время отсекается.
$appendDay — если true, то к valueEnd добавляется один день

Пример:

filters->dateMin->get(), $this->filters->dateMax->get()));
?>

Форматированный вывод даты с наклоном на «Сегодня H:i» если заданная дата isNowDay

String public static function renderDate(string|int $stamp, string $format = DB_FORMAT_MINUTE_RENDER)
$stamp — Дата задается или строкой или timestamp.
$format — Формат вывода если не NowDay.

Проверка на текущий день

Bool public static function isNowDay(string|int $stamp)
$stamp — Дата задается или строкой или timestamp.

Проверка на текущий месяц

Bool public static function isNowMonth(string|int $stamp)
$stamp — Дата задается или строкой или timestamp.

Проверка на текущий год

Bool public static function isNowYear(string|int $stamp)
$stamp — Дата задается или строкой или timestamp.

Получить Prototype Field

Field public static function getField(string $structureName, string $fieldName)
$structureName — Название объекта
$fieldName — Название поля

Пример:


Получить дату без учета timezone. Временная зона устанавливается как на сервере для установки в ORM или других действий.

String public static function setDate(\Kernel\Data\Field $field, String $format, string|int $date = null, int $user_id = null)
$field — Поле объекта
$format — Возвращаемый формат
$date — Дата задается или строкой или timestamp. По умолчанию now.
$user_id — Для получения даты с учетом timezone другого пользователя системы

Пример:


Дату рассчитать с учетом timezone

String public static function getDate(\Kernel\Data\Field $field, string $format, string|int $date = null, int $user_id = null )
$field — Поле объекта
$format — Возвращаемый формат
$date — Дата задается или строкой или timestamp. По умолчанию now.
$user_id — Для получения даты с учетом timezone другого пользователя системы

Пример:


Вернет массив по времени

Array public static function getTimeTextWithIcons(String $time)
$time — в формате H:i
Пример:

"14:45", "text"=>"День", "img"=>"/img/cf_ui/day/day.png"];
?>

Вернет массив id от MULTIPOINTER поля или такого же JSON

Array public static function getIds(String $valueJson)
$valueJson — Json строка

Пример:

1, 2=>2];
?>

String

use Kernel\Framework\String;

Форматированная цена

String public static function money(String $sum)
$num — цена в строковом эквиваленте

Пример:


Автоматический форматированный размера по байтам

String public static function bytes(String $bytes, String $separator=» «)
$bytes — Размер в байтах

Пример:


UploadHelper

use Kernel\Framework\UploadHelper;

Ручная загрузка файла в систему

UploadHelper public static function createUpload($blindName, $fileName, $fileTemp)
$blindName — Название структуры в формате documents.orders:2

Пример:

structure->getBlind(), $_FILES["file"]["name"], $_FILES["file"]["tmp_name"]);
//вернет object Entry: References.Uploads
?>
Последние правки: 02.08.2019 16:04:28