Download the PHP package entelisteam/lbaf-rector without Composer

On this page you can find all versions of the php package entelisteam/lbaf-rector. 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 lbaf-rector

lbaf-rector

Рекурсивный сборщик Rector-миграций по дереву зависимостей для LBAF-based проектов.

Пакет собирает Rector-конфиг из миграций всех установленных Composer-пакетов, которые объявили свои миграции через extra.lbaf-rector-migrations, плюс миграции самого корневого проекта (если они есть). Это позволяет каждому пакету в экосистеме LBAF поставлять свои Rector-правила и быть уверенным, что они применятся в любом проекте, где этот пакет установлен.

Установка

Зависимость подключается в любой LBAF-based проект — даже если у самого проекта нет своих Rector-миграций. В этом случае пакет всё равно соберёт и применит миграции из всех зависимостей.

Настройка проекта

1. rector.php в корне проекта

Создайте rector.php со следующим содержимым:

По умолчанию миграции применяются к каталогу src/ корневого проекта.

2. Composer-скрипты

Добавьте в composer.json секцию scripts:

Использование:

Собственные Rector-миграции в проекте

Если проект реализует свои Rector-миграции, они должны удовлетворять следующим требованиям.

1. Класс-реестр миграций

Создайте класс, реализующий EntelisTeam\Lbaf\Rector\RectorMigrationListInterface. Метод all() должен вернуть список FQN классов-миграций:

2. Регистрация в composer.json

В composer.json добавьте ключ extra.lbaf-rector-migrations с полным именем класса-реестра:

3. Autoload

Namespace, в котором находятся класс-реестр и сами миграции, обязан быть в секции autoload (а не autoload-dev) — иначе при запуске Rector в зависимых проектах классы не будут найдены.

Рекомендация: для миграций используйте отдельный namespace второго уровня (например, Vendor\MyProject\Rector\) и отдельную папку, не пересекающуюся с src/:

Это нужно для того, чтобы миграции зависимостей случайно не «приехали» на код самих миграций проекта и не сломали их.

Требования к Rector-миграциям

Каждый класс-миграция, попадающий в MigrationList::all(), должен удовлетворять двум требованиям.

1. Сигнатура

Класс должен реализовывать статический метод apply, принимающий и возвращающий RectorConfigBuilder:

RectorMigrationManager последовательно прокидывает один и тот же RectorConfigBuilder через apply() каждой миграции, накапливая правила.

2. Нейминг

Миграции всех пакетов (зависимости + корневой проект) собираются в один плоский список и сортируются по basename класса (без namespace). Из этого следуют два правила:

Дата-время отражает момент создания миграции; более ранние применяются раньше. Такая схема одновременно решает проблему уникальности (дата + описание) и порядка.

Кастомные пути применения

По умолчанию миграции применяются к src/ корневого проекта. При необходимости в RectorMigrationManager::apply() можно передать массив путей относительно корня проекта — например, чтобы применить миграции и к тестам:


All versions of lbaf-rector with dependencies

PHP Build Version
Package Version
Requires php Version ~8.2
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 entelisteam/lbaf-rector contains the following files

Loading the files please wait ...