sorokinmedia / yii2-helpers
Helpers for Yii2
Installs: 458
Dependents: 8
Suggesters: 0
Security: 0
Stars: 2
Watchers: 7
Forks: 0
Open Issues: 0
Type:yii2-extension
Requires
- ext-intl: *
- yiisoft/yii2: >=2.0.30
Requires (Dev)
- phpunit/phpunit: 8.*
- roave/security-advisories: dev-master
This package is auto-updated.
Last update: 2024-11-08 02:17:37 UTC
README
Sorokin.Media repository
Компонент содержит несколько хелперов, которые могут быть использованы в проектах.
ArrayHelper
список методов
public static function convertArrayToArrayOfObject(array $array, string $type = 'int') : array {}
- конвертирует массив key=>value в массив объектов {'id', 'name'}public static function costHourValues() : array {}
- формирует список временных интервалов для выбора в зарплатном модуле
DateHelper
список констант
const TIME_SECOND_ONE
- одна секундаconst TIME_MINUTE_ONE
- одна минутаconst TIME_HOUR_ONE
- один часconst TIME_HOUR_TWELVE
- 12 часовconst TIME_DAY_ONE
- один деньconst TIME_DAY_FIFTEEN
- 15 днейconst TIME_DAY_THIRTY
- 30 днейconst TIME_YEAR_ONE
- один годconst WEEKEND_DAYS
- массив выходных дней
список методов
public static function getExtendTime(int $extend_time) : int
- получает кол-во часов, учитывая выходныеpublic static function getListOfTimezones(string $locale = '') : array
- список временных зонpublic static function getLeftTime(int $time = null)
- трансформирует секунды(unixstamp) в текст (1 час 20 минут)public static function getTzOffset(string $timezone) : int
- получает отступ таймзоны от UTC в секундахpublic static function hoursArray() : array
- формирует список временных интервалов для селекта на формеpublic static function getStartEndMonth() : array
- первый и последний день месяцаpublic static function getStartEndPrevMonth() : array
- первый и последний день прошлого месяца
PluralHelper
список методов
public static function convert(int $n, string $type = "hours") : string
- конвертирует число в слово в нужной словоформе. доступные варианты:days
- дниmonths
- месяцыyears
- годыhours
- часыminutes
- минутыseconds
- секундыtext
- текстыnotification
- уведомленияtests
- разыtasks
- задачиrubl
- рубли
TextHelper
список методов
public static function translitString(string $string) : string
- транслитерация строкиpublic static function autop( $pee, $br = true )
- обертка из Worpdress в теги p,br и т.д.public static function checkCardNumber(string $str) : bool
- проверка номера карты по методу Лунаpublic static function clearText(string $text = null) : string
- очистка текста от пробелов и теговpublic static function clearTextAllowedTags(string $text = null) : string
- чистит текст от тегов, оставляя указанные тегиpublic static function trimToLowerText($text) : string
- убирает пробелы и приводит к нижнему региструpublic static function array2string(array $array) : string
- конвертирует массив в строку (для JSON)public static function getCountLinkPost(string $text) : int
- подсчет кол-ва тегов а в текстеpublic static function filterResponse(string $response) : string
- конвертирует JSON ответ в строку (для тестов API)public static function makeUrls(string $text) : string
- автоматическая простановка тегов ссылок в текстеpublic static function removeNbsp(string $text) : string
- очистка текста от непрерывных пробелов (nbsp)
TestHelper
список методов
public static function filterResponse(string $response) : string
- приводит API ответ к нужному виду. для тестов API
StatsHelper
список методов
public static function makeInt(array $array) : array
- приводит значение массива к целым числам (int)public static function makeFloat(array $array) : array
- приводит значения массива к дробным числам (float)public static function makeRound(array $array) : array
- округляет все значения массива до 2 знаков после запятойpublic static function makeMinutes(array $array) : array
- минуты из секундpublic static function date_range(string $from, string $to, string $step = '+1 day', string $output_format = 'd-m-Y' ) : array
- формирует массив дат заданного интервала
CacheHelper
###Работа с кешем
Чтобы завернуть ответ в API в кеш необходимо сделать:
-
Определить уникальный ключ исходя из параметров запроса, например
"User.$user->id.new-messages"
-
Перед вызовом основного функционала в апи методе добавить проверку наличия кеша:
$cache_key = "User.$user->id.new-messages";
if (Yii::$app->cache->exists($cache_key)){
return new ApiAnswerLogFromCache(null, Yii::$app->cache->get($cache_key));
}
- Перед отправкой ответа после основного функицонала метода добавлять ответ в кеш:
Yii::$app->cache->set($cache_key, $messages, CacheHelper::CACHE_TIME_FIVE_MINUTES);
return new ApiAnswerLogInsertCache(null, $messages);
-
Добавить метод очистки кеша по заданному ключу в
CacheHelper
-
Добавить вызовы метода очистки кеша по коду, там где это требуется
-
Описать закешированный метод в локальном
readme.MD