PHPackages                             denisok94/helper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. denisok94/helper

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

denisok94/helper
================

A class with a set of functions to facilitate programming

0.8.7(3mo ago)11.1k4BSD-3-ClausePHP

Since Apr 17Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/Denisok94/helper)[ Packagist](https://packagist.org/packages/denisok94/helper)[ RSS](/packages/denisok94-helper/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (10)Dependencies (1)Versions (29)Used By (4)

Helper Class
============

[](#helper-class)

Класс с набором полезных функций, по мнению автора. Не претендует на идеальность и единственное верное решение.

A class with a set of useful functions, according to the author. It does not pretend to be ideal and the only correct solution.

[![https://img.shields.io/badge/license-BSD-green](https://camo.githubusercontent.com/3c8d2eb2ee7a98b587fc9ce7d17df0117cc3a9d027b0f2ae1a0e8183904c176c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4253442d677265656e)](https://camo.githubusercontent.com/3c8d2eb2ee7a98b587fc9ce7d17df0117cc3a9d027b0f2ae1a0e8183904c176c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4253442d677265656e)

---

1. [Установка](#%D1%83%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0)
2. [Использование](#%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5)
    1. [ArrayHelper](#arrayhelper)
    2. [DataHelper](#datahelper)
    3. [StringHelper](#stringhelper)
    4. [FileHelper](#filehelper)
    5. [HtmlHelper](#htmlhelper)
    6. [OtherHelper](#otherhelper)
3. [Other Class](#other-class)
    1. [MicroTimer](#microtimer)
    2. [Console](#console)
    3. [Session](#session)
    4. [S3DataService](#s3dataservice)
    5. [CloneObject](#cloneobject)
4. [Framework Integration](#framework-integration)
    1. [Yii2](#yii2)
    2. [Symfony](#symfony)

---

Установка
---------

[](#установка)

Run:

```
composer require --prefer-dist denisok94/helper
# or
php composer.phar require --prefer-dist denisok94/helper
```

### Использование

[](#использование)

```
use \denisok94\helper\Helper as H;
H::methodName($arg);
```

---

ArrayHelper
-----------

[](#arrayhelper)

Работа с массивами

MethodDescriptiongetНайти в массиве по путиsetДобавить/заменить элемент в массивеparseЗаменить шаблонimplodeWrapОбъединяет элементы массива в строку + обернуть текст в кавычкиimplodeWithОбъединяет элементы массива в строку, с предпользовательской обработкойimplodeByKeyОбъединяет элементы массива в строку по ключуimplodeByKeyWrapОбъединяет элементы массива в строку по ключу + обернуть текст в кавычкиimplodeMultiОбъединяет элементы многомерного массива в строкуisJsonпроверяет данные на jsontoJsonПреобразовать массив/объект в jsontoArrayПреобразовать json в массивarrayToObjectПреобразовать массив в объектarray2ObjectПреобразовать массив в объект, вариант 2objectToArrayПреобразовать объект в массивobject2ArrayПреобразовать объект в массив, вариант 2arrayOrderByСортировка массиваunique\_multidim\_arrayполучить уникальные значения> arrayToObject и objectToArray - работают быстрее, но могут возникнуть исключения. array2Object и object2Array - использую преобразование через json\_decode + json\_encode, это более ресурсозатратные, но надёжнее.

---

DataHelper
----------

[](#datahelper)

MethodDescriptioncurrentDateТекущая датаcurrentDtТекущая дата и времяtoMysqlDateПреобразовать дату в формат MysqltoMysqlDtПреобразовать дату и время в формат MysqltoRuDateРусский формат датыtoRuDtРусский формат даты и времениstampToDtПреобразовать timestamp в формат даты и времениstampToDtUПреобразовать timestamp в формат даты и времени с миллисекундамиyesterdayDateПолучить вчерашнюю датуcreateDatemodifyDategetStamphumanTimingSummary of humanTiming```
H::createDate('yesterday'); // yesterday
H::createDate('-1 day'); // yesterday
H::createDate('1 day'); // tomorrow
```

```
H::modifyDate('2006-12-12', '-1 day'); // 2006-12-11
H::modifyDate(H::currentDate(), '+1 day'); // tomorrow
H::modifyDate(H::currentDt(), '-1 day', 'Y-m-d H:i:s'); // yesterday
```

```
H::getStamp('22-09-2008 00:00:00', 'd-m-Y H:i:s'); // 1222030800 (This will differ depending on your server time zone...)
H::getStamp('22-09-2008 00:00:00', 'd-m-Y H:i:s', 'UTC'); // 1222041600
H::getStamp(H::currentDt())
```

---

StringHelper
------------

[](#stringhelper)

MethodDescriptionuuidСгенерировать uuid v4guidСгенерировать guid v4randomСгенерировать рандомную строкуspellпадежи к числительнымslugпреобразовать строку в человекопонятный urlru2LatТранслитирование, ГОСТ 7.79-2000, схема АruToLatТранслитирование, ГОСТ 7.79-2000, схема Бru2Slugпреобразовать строку, на русском (схема А), в человекопонятный urldeNormalizeНормализация немецкого текстаgetClassNameПолучить имя классаslashesэкранированиеreplaceBBCodeПарсинг BB-кодовtruncateСократить простой ASCII текст (быстро)truncateProСократить текст (с экранированием)truncateGraphemeСократить текст с экзотическими символами (если есть grapheme)### replaceBBCode()

[](#replacebbcode)

Поддержка:

- \[hr\]
- \[h1-6\]заголовок\[/h1-6\]
- \[b\]жирный\[/b\]
- \*\*жирный\*\*
- \[i\]курсив\[/i\]
- \[u\]подчеркнутый\[/u\]
- \_\_Подчеркнутый\_\_
- \[s\]зачеркнутый\[/s\]
- ~~зачеркнутый~~
- \[code\]code\[/code\]
- \[code=php\]code\[/code\]
- ```code```
- ||spoiler||
- \[spoiler=спойлер\]спойлер\[/spoiler\]
- \[quote\]\[/quote\]
- \[quote=\]\[/quote\]
- \[url=\]\[/url\]
- \[url\]\[/url\]
- \[img\]\[/img\]
- \[img=\]
- \[size=2\]\[/size\] в %
- \[color=\]\[/color\]
- \[list\]\[/list\] - ul
- \[ul\]\[/ul\] - ul
- \[listn\]\[/listn\] - ol
- \[ol\]\[/ol\] - ol
- \[\*\]\[\*\] - li
- \[li\]\[/li\] - li

---

FileHelper
----------

[](#filehelper)

Работа с файлами

MethodDescriptionextПолучить расширение файлаfileReadПоказать содержимое файлаfileGetDtПолучить дату последнего измененияfileTypeПолучить тип файлаfileIconПолучить название иконки для файлаfileIconFaПолучить название иконки для файла в формате Font Awesome 4/5fileShortSizeкороткий размер файлаshortSize2048 → 2.00 KBparseSize2.00 KB → 2048dirSizeПолучить размер папки---

HtmlHelper
----------

[](#htmlhelper)

Генерация html тегов

> в разработке...

MethodDescriptionvideoвидео тег---

OtherHelper
-----------

[](#otherhelper)

MethodDescriptioncurlcurl для большинства простых запросовgetRequestпараметры запросаgetUserIpполучить IP пользователяisBotПроверка пользователя на ботаmsleepуснуть на N секундpercentВысчитать процентfloatокруглить до N знака> isBot() не даёт 100% гарантии. Кому разрешить/запретить доступ/функционал - решать исключительно Вам. Запрещая всё и всем, Вы можете лишится продвижения сайта в поисковых ресурсах и/или красивых привью в соц сетях =).

---

Other Class
-----------

[](#other-class)

### MicroTimer

[](#microtimer)

Узнать, сколько времени выполняется код

```
use \denisok94\helper\other\MicroTimer;
$queryTimer = new MicroTimer(); // start
// code ...
$queryTimer->stop();

// result:
$time = $queryTimer->elapsed();
// or/and
printf($queryTimer);
```

> взято у [phpLiteAdmin](https://bitbucket.org/phpliteadmin/public/src/master/classes/MicroTimer.php)

---

### Console

[](#console)

Получение параметров для консольного скрипта

MethodParametersReturnDescription\_\_construct?array, ?mixedthrowsset required parameters and/or default valuegetstring, ?defaultvalue/defaultget argument or optiongetArgumentstring, ?defaultvalue/defaultget argumentgetArguments-arrayget argumentsgetOptionstring, ?defaultvalue/defaultget optiongetOptions-arrayget optionshasArgumentstringtrue/falsehasOptionstringtrue/falseshowstringstring```
use \denisok94\helper\other\Console;
// php console.php arg1 arg2=val -o -a5 --option --option1=6 --option1=3
$console = new Console();
$console->getArguments(); // [arg1,arg2=>val]
$console->getArgument(0); // arg1
$console->getArgument('arg2'); // val
$console->getOptions(); // [o=>null,a=>5,option=>null,option1=>[6,3]]
```

Required parameters

```
use \denisok94\helper\other\Console;
try {
    $console = new Console([
        'test', // required arguments and/or options
        'options' => ['test', ],  // required options
        'arguments' => ['test', ],  // required arguments
    ]);
} catch (\Exception $th) {
    die($th->getMessage());
}
```

Default value

```
use \denisok94\helper\other\Console;
$console = new Console(null, true);
$console->getOptions(); // [o=>true,option=>true,...]
```

---

### Session

[](#session)

Класс по работе с сессиями

---

### S3DataService

[](#s3dataservice)

Класс по работе с S3 хранилкой

---

### CloneObject

[](#cloneobject)

Класс по... хз зачем делал, но сохраню =)

---

Framework Integration
---------------------

[](#framework-integration)

### Yii2

[](#yii2)

Deletes in version 0.8.0 (12.06.2022)

A new separate repository has been created:

- class [MetaTag](https://github.com/Denisok94/yii-metatag)
- class [ConsoleController and StatusController](https://github.com/Denisok94/yii-helper)

### Symfony

[](#symfony)

[Symfony Helper](https://github.com/Denisok94/symfony-helper)

###  Health Score

44

—

FairBetter than 92% of packages

Maintenance85

Actively maintained with recent releases

Popularity16

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~70 days

Recently: every ~330 days

Total

26

Last Release

105d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/59793012?v=4)[Денис](/maintainers/Denisok94)[@Denisok94](https://github.com/Denisok94)

---

Top Contributors

[![Denisok94](https://avatars.githubusercontent.com/u/59793012?v=4)](https://github.com/Denisok94 "Denisok94 (7 commits)")

---

Tags

yii2-extensionphp-consolephp helper classyii2 Meta Tag

### Embed Badge

![Health badge](/badges/denisok94-helper/health.svg)

```
[![Health](https://phpackages.com/badges/denisok94-helper/health.svg)](https://phpackages.com/packages/denisok94-helper)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
