draculaid / php8forphp7
Php8forPhp7 - PHP 8 functions, and classes for PHP 7.4. Class for emulate enums
Installs: 29 559
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/draculaid/php8forphp7
Requires
- php: >=7.4.0
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2025-12-22 01:00:56 UTC
README
Php8forPhp7 Содержит классы и функции из PHP8. Также библиотека содержит функционал, позволяющий создавать классы-перечисления, максимально похожие в своем использовании на перечисления в PHP8
Библиотека не требует для своей работы никаких дополнительных пакетов. Если ваш проект не использует composer
в качестве менеджера пакетов или вы хотите внедрить библиотеку в ваш код, достаточно просто скопировать
содержимое каталога src из ветки master
Установка
Установка с помощью композера (packagist.org):
composer require draculaid/php8forphp7
Для обновления пакета
composer update draculaid/php8forphp7
Вы также можете полностью скопировать содержимое каталога src, библиотека Php8forPhp7 включает в себя все
необходимое для ее работы (т.е. не имеет внешних зависимостей)
Дерево каталогов
documentation-ruДокументация, перейти в каталогexamples-ruПримеры работы, перейти в каталогsrc/functions.phpСодержит объявление всех функцийsrc/interfaces.phpСодержит объявление всех интерфейсовsrc/functionsСодержит определение функций (один файл на одну функцию)src/ClassesСодержит классы из PHP8src/EnumsСодержит все необходимое для создания классов-перечислений, похожих на перечисления в PHP8testsВсе что нужно для тестирования библиотеки, подробнее
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)
подробнее в документации.
LoaderPhp8Lib.php Содержит класс облегчающий загрузку необходимого функционала, подробнее в документации.
Реализованно
Перечисления, точнее функционал, для создания классов, максимально похожих на перечисления PHP8, см абстрактный
класс \DraculAid\Php8forPhp\Enums\AbstractEnum. Подробнее в документации
Функции
enum_exists()Является ли указанный класс, перечислениемarray_is_list()Является ли массив спискомstr_contains()Содержит ли строка подстрокуstr_starts_with()Начинается ли строка подстрокойstr_ends_with()Заканчивается ли строка подстрокойget_debug_type()Вернет имя типа данныхget_resource_id()Вернет целочисленное представление ресурса
Классы
WeakMap- "Массив", использующий в качестве ключей объекты, в отличие от настоящегоWeakMapувеличивает счетчик ссылок на объект