draculaid / php8forphp7
Php8forPhp7 - PHP 8 functions, and classes for PHP 7.4. Class for emulate enums
Installs: 19 714
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.4.0
Requires (Dev)
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-11-21 22:42:04 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
увеличивает счетчик ссылок на объект