Download the PHP package mezzio/mezzio-migration without Composer

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

mezzio-migration

Build Status

🇷🇺 Русским гражданам

Мы, участники Laminas, родились и живем в разных странах. У многих из нас есть друзья, родственники и коллеги как в России, так и в Украине. Некоторые из нас родились в России. Некоторые из нас живут в России. У некоторых бабушки и дедушки сражались с фашистами во Второй мировой войне. Здесь никто не поддерживает фашизм.

У одного из нас есть украинская родственница, которая спаслась из дома вместе с сыном. Поезд задержался из-за бомбежки на дороге впереди. У нас есть друзья, которые прячутся в бомбоубежищах. Мы с тревогой ждем весточки от них после воздушных налетов, которые беспорядочно наносят удары и попадают по больницам, школам, детским садам и домам. Мы не берем это из каких-либо СМИ. Мы наблюдаем это напрямую.

Вы доверяете нам достаточно, чтоб использовать наши программы, и мы просим вас довериться нам вновь. Мы нуждаемся в помощи. Выходите и протестуйте против этой бесполезной войны. Остановите кровопролитие. Скажите "Нет войне!"

🇺🇸 To Citizens of Russia

We at Laminas come from all over the world. Many of us have friends, family and colleagues in both Russia and Ukraine. Some of us were born in Russia. Some of us currently live in Russia. Some have grandparents who fought Nazis in World War II. Nobody here supports fascism.

One team member has a Ukrainian relative who fled her home with her son. The train was delayed due to bombing on the road ahead. We have friends who are hiding in bomb shelters. We anxiously follow up on them after the air raids, which indiscriminately fire at hospitals, schools, kindergartens and houses. We're not taking this from any media. These are our actual experiences.

You trust us enough to use our software. We ask that you trust us to say the truth on this. We need your help. Go out and protest this unnecessary war. Stop the bloodshed. Say "stop the war!"

This library provides a tool for migrating from Mezzio v2 to v3.

Installation

Run the following to install this library:

Usage

Once you have installed the tool, execute it with the following:

Cloning versus composer installation

If you'd rather clone the tooling once and re-use it many times, you can do that instead. Clone using:

And then, instead of using ./vendor/bin/mezzio-migration migrate, use /full/path/to/mezzio-migration/bin/mezzio-migration.

TODO:

Our goal is to prepare a downloadable phar file that can be installed in your system and re-used; this change will come at a future date.

Requirements

All external packages used within your project must be compatible with Mezzio v3 libraries. If you are unsure, check their dependencies.

This script will uninstall all dependent packages and then will try to install them with the latest compatible version. In case any package is not compatible, the script will report an error indicating which package need to be updated.

The following table indicates Mezzio package versions compatible with version 3, and to which the migration tool will update.

Package name Version
laminas-auradi-config 1.0.0
laminas-component-installer 2.1.0
laminas-config-aggregator 1.1.0
laminas-diactoros 1.7.1
mezzio 3.0.0
mezzio-aurarouter 3.0.0
mezzio-authentication 0.4.0
mezzio-authentication-basic 0.3.0
mezzio-authentication-oauth2 0.4.0
mezzio-authentication-session 0.4.0
mezzio-authentication-laminasauthentication 0.4.0
mezzio-authorization 0.4.0
mezzio-authorization-acl 0.3.0
mezzio-authorization-rbac 0.3.0
mezzio-csrf 1.0.0
mezzio-fastroute 3.0.0
mezzio-flash 1.0.0
mezzio-hal 1.0.0
mezzio-helpers 5.0.0
mezzio-platesrenderer 2.0.0
mezzio-router 3.0.0
mezzio-session 1.0.0
mezzio-session-ext 1.0.0
mezzio-template 2.0.0
mezzio-tooling 1.0.0
mezzio-twigrenderer 2.0.0
mezzio-laminasrouter 3.0.0
mezzio-laminasviewrenderer 2.0.0
laminas-httphandlerrunner 1.0.1
laminas-pimple-config 1.0.0
mezzio-problem-details 1.0.0
laminas-stratigility 3.0.0

What does the tool do?

In order to operate, the tool requires that the application directory contains a composer.json file, and that this file is writable by the script.

Next, it attempts to detect the currently used Mezzio version. If the version detected is not a 2.X version, the script will exit without performing any changes.

It then performs the following steps:

  1. Removes the vendor directory.

  2. Installs current dependencies using composer install.

  3. Analyzes composer.lock to identify all packages which depends on Mezzio packages.

  4. Removes all installed Mezzio packages and packages that depend on them.

  5. Updates all remaining packages using composer update.

  6. Requires all Mezzio packages previously installed, adding the packages laminas/laminas-component-installer and mezzio/mezzio-tooling as development packages if they were not previously installed.

  7. Requires all packages installed previously that were dependent on Mezzio. This step may fail in situations where external packages are not yet compatible with Mezzio v3 or its required libraries.

  8. Updates config/pipeline.php:

    1. adds strict type declarations to the top of the file;
    2. adds a function wrapper (as is done in the version 3 skeleton);
    3. updates the following middleware:
      • pipeRoutingMiddleware becomes a pipe() statement referencing Mezzio\Router\Middleware\RouteMiddleware.
      • pipeDispatchMiddleware becomes a pipe() statement referencing Mezzio\Router\Middleware\DispatchMiddleware,
      • References to Mezzio\Middleware\NotFoundHandler become Mezzio\Handler\NotFoundHandler,
      • References to Mezzio\Middleware\ImplicitHeadMiddleware become Mezzio\Router\Middleware\ImplicitHeadMiddleware,
      • References to Mezzio\Middleware\ImplicitOptionsMiddleware become Mezzio\Router\Middleware\ImplicitOptionsMiddleware,
    4. pipes Mezzio\Router\Middleware\MethodNotAllowedMiddleware after Implicit*Middleware (or if these are not piped, after Mezzio\Router\Middleware\RouteMiddleware).
  9. Updates config/routes.php:

    1. adds strict type declaration on top of the file;
    2. adds a function wrapper (as is done in the version 3 skeleton).
  10. Replaces public/index.php with the latest version from the v3 skeleton.

  11. Updates container configuration if pimple or Aura.Di were used (config/container.php) from the latest skeleton version. Additionally, it does the following:

    • For pimple: the package xtreamwayz/pimple-container-interop is replaced by laminas/laminas-pimple-config.
    • For Aura.Di: the package aura/di is replaced by laminas/laminas-auradi-config.
  12. Migrates http-interop middleware to PSR-15 middleware using ./vendor/bin/mezzio migrate:interop-middleware.

  13. Migrates PSR-15 middleware to PSR-15 request handlers using ./vendor/bin/mezzio migrate:middleware-to-request-handler.

  14. Runs ./vendor/bin/phpcbf if it is available.

What should you do after migration?

You will need to update your tests to use PSR-15 middleware instead of http-interop middleware. This step is not done automatically because it is too complicated. We can easily change imported classes, but unfortunately test strategies and mocking strategies vary widely, and detecting all http-interop variants makes this even more difficult.

Please manually compare and verify all changes made. It is possible that in some edge cases, the script will not work correctly. This will depend primarily on the number of modifications you have made to the original skeleton.

Configuration-driven pipelines and routes

The script does not work currently make any modifications to pipeline and route configuration; these will need to be updated manually.


All versions of mezzio-migration with dependencies

PHP Build Version
Package Version
Requires php Version ~8.1.0 || ~8.2.0 || ~8.3.0 || ~8.4.0
ext-json Version *
symfony/console Version ^2.8 || ^3.0 || ^4.0 || ^5.0 || ^6.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 mezzio/mezzio-migration contains the following files

Loading the files please wait ....