draculaid/php8forphp7 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

draculaid/php8forphp7

最新稳定版本:v1.3.0

Composer 安装命令:

composer require draculaid/php8forphp7

包简介

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

README 文档

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 Содержит классы из PHP8
  • src/Enums Содержит все необходимое для создания классов-перечислений, похожих на перечисления в PHP8
  • tests Все что нужно для тестирования библиотеки, подробнее

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 увеличивает счетчик ссылок на объект

统计信息

  • 总下载量: 29.61k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: Unknown
  • 更新时间: 2023-04-03