PHPackages                             sqrt-pro/helpers - 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. sqrt-pro/helpers

ActiveLibrary

sqrt-pro/helpers
================

Helpers is part of SQRT Framework

0.1(10y ago)11.5kMITPHPPHP &gt;=5.3.0

Since Jul 23Pushed 10y ago3 watchersCompare

[ Source](https://github.com/sqrt-pro/Helpers)[ Packagist](https://packagist.org/packages/sqrt-pro/helpers)[ Docs](http://fw.sqrt.pro)[ RSS](/packages/sqrt-pro-helpers/feed)WikiDiscussions master Synced today

READMEChangelogDependencies (2)Versions (2)Used By (0)

SQRT\\Helpers
=============

[](#sqrthelpers)

[![Build Status](https://camo.githubusercontent.com/cf9fec3dc3a3414aeb172e340380b943a8d842bf5ba73d6d6eec89061cf074fb/68747470733a2f2f7472617669732d63692e6f72672f737172742d70726f2f48656c706572732e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/sqrt-pro/Helpers)[![Coverage Status](https://camo.githubusercontent.com/35cf03121b45c1ae01b426b5cc2f3df64f3b20119b7dcc05f48472fa39915865/68747470733a2f2f636f766572616c6c732e696f2f7265706f732f737172742d70726f2f48656c706572732f62616467652e7376673f6272616e63683d6d6173746572)](https://coveralls.io/r/sqrt-pro/Helpers?branch=master)[![Latest Stable Version](https://camo.githubusercontent.com/0033ae4420e4961664a1a1d3936b5a684c2bcbca29194ca8ab81817c468b9f2a/68747470733a2f2f706f7365722e707567782e6f72672f737172742d70726f2f68656c706572732f76657273696f6e2e737667)](https://packagist.org/packages/sqrt-pro/helpers)[![License](https://camo.githubusercontent.com/1b9aefc6e5d2fd84fc83c95ee0f5083a5aa7a4b53d2ff268f00a21ed9d8af282/68747470733a2f2f706f7365722e707567782e6f72672f737172742d70726f2f68656c706572732f6c6963656e73652e737667)](https://packagist.org/packages/sqrt-pro/helpers)

Набор хелперов, используемых в фреймворке.

Filter
------

[](#filter)

Для фильтрации входных данных от пользователя необходимо проверять их допустимость и корректность. Для фильтрации используются два метода:

```
Filter::Value(&$val, $filter = null, $default = false)
Filter::Arr($array, $filter = null, $default = array())

```

Параметр `$filter` может быть callable, regexp (регулярное выражение) или массив с допустимыми значениями. Если значения не проходит по фильтру возвращается $default.

Для массивов фильтр работает несколько иначе, если часть значений массива не проходит фильтр, в выходном массиве эти значения убираются. Если после "чистки" значений не осталось - возвращается $default.

В фильтр значение передается по ссылке, т.е. при необходимости внутри фильтра-callable можно изменять значение.

Container
---------

[](#container)

Базовый класс Container реализует набор стандартных методов для работы с переменными внутри объекта, а также реализует интерфейс ArrayAccess:

- `get($name, $default = false)`
- `set($name, $value)`
- `has($name)`
- `append($name, $value)` - добавить значение в конец строки или массива
- `prepend($name, $value)` - добавить значение в начало строки или массива
- `toArray()` - выгрузить значения в массив
- `fromArray(array $array, $clear = false)` - загрузить значения из массива

Russian
-------

[](#russian)

Набор хелперов для работы с русским языком.

### Плюрализация

[](#плюрализация)

Позволяет склонять строку, в зависимости от количества.

```
Russian::Plural($num, 'лошадь', 'лошади', 'лошадей');
// $num = 1: лошадь
// $num = 3: лошади
// $num = 5: лошадей
```

В качестве строки для количества можно указывать шаблон sprintf для подстановки значения непосредственно в строку:

```
Russian::Plural($num, '%s лошадь', '%03d лошади', '%01.2f лошадей')
// $num = 1: 1 лошадь
// $num = 3: 003 лошади
// $num = 5: 5.00 лошадей
```

### Даты

[](#даты)

Набор методов, использующих функцию `strftime` для форматирования даты с учетом текущей локали. Для установки глобальной локали можно использовать метод `Russian::SetLocale()`.

Конкретное отображение зависит от настроек системы!

```
Russian::DateFormat('%e %B %Y - %A', '01.01.2014'); // 1 января 2014 - среда
Russian::Date('12.01.2015'); // 12 января 2015
Russian::Date('12.01.2015 12:45', true); // 12 января 2015 12:45
Russian::DateShort('12.04.2015'); // 12 апр 2015
Russian::DateShort('12.04.2015 12:45', true); // 12 апр 2015 12:45
Russian::Month('12.04.2015'); // апрель
Russian::Month('12.04.2015', true); // апр
Russian::DayOfWeek('12.04.2015'); // воскресенье
Russian::DayOfWeek('12.04.2015', true); // вс
```

###  Health Score

25

—

LowBetter than 40% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity48

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

Unknown

Total

1

Last Release

3895d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/b13b6471e4cd370ac559ab9c2616d4518c1552d91aa7685cfceedae0e61396e1?d=identicon)[sqrt-pro](/maintainers/sqrt-pro)

---

Top Contributors

[![cmsx](https://avatars.githubusercontent.com/u/2027189?v=4)](https://github.com/cmsx "cmsx (10 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sqrt-pro-helpers/health.svg)

```
[![Health](https://phpackages.com/badges/sqrt-pro-helpers/health.svg)](https://phpackages.com/packages/sqrt-pro-helpers)
```

PHPackages © 2026

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