PHPackages                             draculaid/php8forphp7 - 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. draculaid/php8forphp7

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

draculaid/php8forphp7
=====================

Php8forPhp7 - PHP 8 functions, and classes for PHP 7.4. Class for emulate enums

v1.3.0(2y ago)029.6kPHPPHP &gt;=7.4.0

Since Apr 3Pushed 2y ago1 watchersCompare

[ Source](https://github.com/dracul-aid/Php8forPhp7)[ Packagist](https://packagist.org/packages/draculaid/php8forphp7)[ RSS](/packages/draculaid-php8forphp7/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (4)Dependencies (1)Versions (5)Used By (0)

Php8forPhp7 - Классы и функции PHP8 для PHP7
============================================

[](#php8forphp7---классы-и-функции-php8-для-php7)

[Документация](documentation-ru/README.md) | [Примеры](examples-ru/README.md)

---

**Php8forPhp7** Содержит классы и функции из PHP8. Также библиотека содержит функционал, позволяющий создавать классы-перечисления, максимально похожие в своем использовании на перечисления в PHP8

Библиотека не требует для своей работы никаких дополнительных пакетов. Если ваш проект не использует `composer`в качестве менеджера пакетов или вы хотите внедрить библиотеку в ваш код, достаточно просто скопировать содержимое каталога `src` из ветки `master`

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

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

Установка с помощью композера ([packagist.org](https://packagist.org/packages/draculaid/php8forphp7)):

```
composer require draculaid/php8forphp7
```

Для обновления пакета

```
composer update draculaid/php8forphp7
```

Вы также можете полностью скопировать содержимое каталога `src`, библиотека Php8forPhp7 включает в себя все необходимое для ее работы (т.е. не имеет внешних зависимостей)

Дерево каталогов
----------------

[](#дерево-каталогов)

- `documentation-ru` Документация, [перейти в каталог](documentation-ru/README.md)
- `examples-ru` Примеры работы, [перейти в каталог](examples-ru/README.md)
- `src/functions.php` Содержит объявление всех функций
- `src/interfaces.php` Содержит объявление всех интерфейсов
- `src/functions` Содержит определение функций (один файл на одну функцию)
- `src/Classes` Содержит классы из PHP8
- `src/Enums` Содержит все необходимое для создания классов-перечислений, похожих на перечисления в PHP8
- `tests` Все что нужно для тестирования библиотеки, [подробнее](tests/README.md)

`src/functions` и `src/functions.php` Объявляют (если не были объявлены ранее) не только функции в глобальном пространстве имен, но и "синонимы" в `DraculAid\Php8forPhp7` пространстве имен. Т.е. будут доступны две функции `array_is_list()` и `\DraculAid\Php8forPhp7::array_is_list()`. При этом:

- `array_is_list()` Будет определена, если только еще не определена (другой библиотекой, или вы используете PHP8)
- `array_is_list()` в случае определения, будет проводить перевызов `\DraculAid\Php8forPhp7::array_is_list()`
- `\DraculAid\Php8forPhp7::array_is_list()` будет доступна всегда, вне зависимости от версии PHP, которую вы используете

`FunctionsTest.php` Содержит класс с функциями для валидации составных типов данных (например `string|array` или `A&B`) [подробнее в документации](documentation-ru/type-validator.md).

`LoaderPhp8Lib.php` Содержит класс облегчающий загрузку необходимого функционала, [подробнее в документации](documentation-ru/loader.md).

Реализованно
------------

[](#реализованно)

Перечисления, точнее функционал, для создания классов, максимально похожих на перечисления PHP8, см абстрактный класс `\DraculAid\Php8forPhp\Enums\AbstractEnum`. Подробнее [в документации](documentation-ru/enums.md)

**Функции**

- `enum_exists()` Является ли указанный класс, перечислением
- `array_is_list()` Является ли массив списком
- `str_contains()` Содержит ли строка подстроку
- `str_starts_with()` Начинается ли строка подстрокой
- `str_ends_with()` Заканчивается ли строка подстрокой
- `get_debug_type()` Вернет имя типа данных
- `get_resource_id()` Вернет целочисленное представление ресурса

**Классы**

- `WeakMap` - "Массив", использующий в качестве ключей объекты, в отличие от настоящего `WeakMap` увеличивает счетчик ссылок на объект

###  Health Score

28

—

LowBetter than 54% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

Limited adoption so far

Community7

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

Every ~47 days

Total

4

Last Release

1001d ago

PHP version history (2 changes)v1.0.0PHP ~7.4.0

v1.1.0PHP &gt;=7.4.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/019e4b80dfc0c64728515f2ff5bd85c890aba4d2413292cc1810588d3103d09c?d=identicon)[dracul-aid](/maintainers/dracul-aid)

---

Top Contributors

[![dracul-aid](https://avatars.githubusercontent.com/u/29762625?v=4)](https://github.com/dracul-aid "dracul-aid (17 commits)")

---

Tags

enumsphp7

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/draculaid-php8forphp7/health.svg)

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

###  Alternatives

[hirethunk/verbs

An event sourcing package that feels nice.

513162.9k6](/packages/hirethunk-verbs)

PHPackages © 2026

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