Download the PHP package maksde/support without Composer

On this page you can find all versions of the php package maksde/support. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package support

Помощник для Laravel

Packagist Version Packagist Downloads Packagist Dependency Version Packagist Dependency Version Packagist License

Содержание

Установка

Установить пакет с помощью Composer:

Опубликовать файлы конфигурации:

Опубликовать файлы перевода:

Правила валидации для форм

Пакет предоставляет набор валидаторов для проверки различных типов данных с детальными сообщениями об ошибках на русском и английском языках.

EmailValidate

Валидация адреса электронной почты с поддержкой латиницы и кириллицы.

Пример использования:

Параметры конструктора:

Проверка TLD:

Регулярное выражение:

Что проверяет регулярное выражение:

  1. Структура и базовые правила:

    • (?!\.) - не должен начинаться с точки
    • (?!.*\.\.) - не должно быть двух точек подряд (в любом месте)
    • @ - обязательный разделитель между локальной и доменной частью
  2. Локальная часть (до @):

    • ([A-Za-zА-Яа-яЁё0-9_'+\-\.]*) - может содержать:
      • Латинские буквы: A-Z, a-z
      • Кириллические буквы: А-Я, а-я, Ё, ё
      • Цифры: 0-9
      • Специальные символы: _, ', +, -, .
    • ([A-Za-zА-Яа-яЁё0-9_+-]) - должна заканчиваться буквой, цифрой или _, +, - (НЕ точкой)
  3. Доменная часть (после @):

    • ([A-Za-zА-Яа-яЁё0-9]([A-Za-zА-Яа-яЁё0-9-]*[A-Za-zА-Яа-яЁё0-9])?\.)+ - каждый уровень домена:
      • Должен начинаться с буквы или цифры
      • Должен заканчиваться буквой или цифрой (НЕ дефисом)
      • Может содержать дефисы только в середине
      • Заканчивается точкой (для разделения уровней)
      • Может повторяться для поддоменов (mail.example.com)
  4. Доменная зона (TLD):

    • [A-Za-zА-Яа-яЁё]{2,} - минимум 2 буквы (латиница или кириллица)
  5. Дополнительные проверки длины:

    • Общая длина email ≤ 255 символов
    • Локальная часть ≤ 64 символа
    • Доменная часть ≤ 253 символа
  6. Проверка валидности доменной зоны (TLD):
    • Без параметра tlds — проверка через класс DomainZone (1300+ официальных TLD, включая .рф, .бел, .срб, .укр, .рус)
    • С параметром tlds — TLD должен входить в переданный список

📖 Детальная документация:

  • Анализ валидации Email - разбор регулярного выражения и результаты тестирования
  • Тестовые случаи Email - полный список валидных и невалидных email (~350 примеров)

PhoneValidate

Валидация российского номера телефона.

Пример использования:

Проверки:

Типы ошибок:


PhoneInternationalValidate

Валидация международного номера телефона.

Пример использования:

Проверки:

Типы ошибок:


NameValidate

Валидация имени, фамилии, отчества.

Пример использования:

Проверки:

Типы ошибок:


QuantityValidate

Валидация количества (целое число с возможностью указания минимального и максимального значения).

Пример использования:

Проверки:

Параметры конструктора:

Типы ошибок:


DateValidate

Валидация даты с возможностью ограничения по времени (прошлое/будущее).

Пример использования:

Проверки:

Параметры конструктора:

Типы ошибок:


TimeValidate

Валидация времени с возможностью ограничения (прошлое/будущее относительно опорного момента).

Пример использования:

Проверки:

Параметры конструктора:

Типы ошибок:


DateTimeValidate

Валидация даты и времени с возможностью ограничения (прошлое/будущее).

Пример использования:

Проверки:

Параметры конструктора:

Типы ошибок:


FileValidate

Единое правило валидации загружаемых файлов. Проверяет расширение, MIME-тип, размер и сигнатуру (magic bytes) по реестру FileExtensionMap.

Пример использования:

Проверки:

  1. Расширение файла — из конфига типа или переданного списка
  2. MIME-тип — из реестра Maksde\Support\Validation\FileExtensionRegistry (по расширению)
  3. Размер — не больше max_size (KB)
  4. Сигнатура — magic bytes для ~55 форматов (изображения, видео, аудио, документы, архивы, шрифты)

Параметры конструктора:

Настройки в конфиге (MIME и сигнатуры — в коде, не в конфиге):

Типы ошибок:

Breaking change 4.0: удалены ImageValidate, VideoValidate, DocumentValidate.


Форматирование даты и времени (TemporalFormat)

Класс Maksde\Support\Formation\TemporalFormat переводит дату/время между timezone и форматами при сохранении в БД и при выводе (в т.ч. в API). Форматы задаются в конфиге: support.storage.format.*, support.view.format.*, support.api.format.*.

Сохранение (forStorage)

Подготовка значения к записи в БД. Для date применяется только форматирование (календарная дата без timezone). Для time и datetime значение из указанной timezone переводится в UTC.

Сигнатура: forStorage(?string $value, 'date'|'time'|'datetime' $type, string $fromTimezone = 'UTC'): ?string

Вывод (forOutput)

Подготовка значения из БД к показу или к отдаче в API. Для date — только форматирование. Для time и datetime — перевод из UTC в целевую timezone и формат.

Сигнатура: forOutput(?string $value, 'date'|'time'|'datetime' $type, string $toTimezone = 'UTC', ?string $format = null): ?string

Для типа time значение в БД хранится как время с якорной датой; при разборе используется та же логика, что и в forStorage.


Вспомогательные функции

urlFront($path)

Формирование полного пути к файлу из storage для использования на фронтенде.

Пример использования:


Тестирование

Пакет содержит полный набор unit-тестов для всех валидаторов.

Запуск тестов

Структура тестов

Подробнее о тестах см. в tests/README.md.


Лицензия

Этот пакет является открытым программным обеспечением, лицензированным по лицензии MIT.


All versions of support with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
laravel/framework Version ^12.0|^13.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package maksde/support contains the following files

Loading the files please wait ...