laminas-migrationを試す

zendframeworkのバージョン2，3に使用できるらしいので、使い方を試した結果を忘れないようにメモしておこう。


#準備

コンポーザをインストールしておく
適当な階層でコマンド実行
```# curl -sS https://getcomposer.org/installer | php```

composer.pharが作成されるので、どこからでも使えるように移動しておく（しなくてもいい）
```# mv composer.phar /usr/local/bin/composer```


###マイグレーションツールの実験用として、zendバージョン2のサンプルを用意しておく
https://github.com/zendframework/zf2-tutorial
サイトからgit cloneで取得できるが、今回はzipのURLを使ってwgetで取得。
適当な場所に配置して解凍。フォルダ内に移動してインストール実施

```
# cd <解凍したフォルダ>
# composer install
```


#マイグレーションツールインストール

ラミナスのドキュメントを参考にして作業を進める。
https://docs.laminas.dev/migration/

```
[root@localhost test]# # composer global require laminas/laminas-migration

インストールされた場所を確認する
[root@localhost test]# composer global config home
Changed current directory to /root/.config/composer
/root/.config/composer
[root@localhost test]#
```

laminas/laminas-migrationの実態は、/root/.config/composerフォルダ内にあるとわかった。

/usr/local/bin/への配置･･･というか、そこから実態へのシンボリックリンクをはると使い勝手が良くなるはずだが、しなくても良いので省略。


README.mdによると実行コマンドはこれ。[path]がマイグレーションしたいシステムのパスになる
```$ laminas-migration migrate [--no-plugin] [--exclude=|-e=] [--keep-locked-versions] [path]```


```
移動
# cd /root/.config/composer/vendor/laminas/laminas-migration/bin
実行
# php laminas-migration migrate 解凍しておいたzf2-tutorialのパス
```

###実行結果

+ 検証用のzf2-tutorial/配下から、vendorフォルダがまるごと削除された
+ module等のソースから、Zend\の記述がLaminas\に置き換わってる
+ composer.jsonの中身がlaminasのものに置き換わっている

たぶん、このあとラミナスをインストールすればいいのか。

```
移動
#cd 検証用のzf2-tutorial/
インストール
#  composer install
```

実行すると失敗。

```
Loading composer repositories with package information
Updating dependencies (including require-dev)
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - laminas/laminas-test 3.4.2 requires phpunit/phpunit ^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.0 -> satisfiable by phpunit/phpunit[4.0.0, 4.0.1, 4.0.10, 4.0.11, 4.0.12, 4.0.13, 4.0.14, 4.0.15, 4.0.16, 4.0.17, 4.0.18, 4.0.19, 4.0.2, 4.0.20, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.1.0, 4.1.1, 4.1.2, 4.1.3, 4.1.4, 4.1.5, 4.1.6, 4.2.0, 4.2.1, 4.2.2, 4.2.3, 4.2.4, 4.2.5, 4.2.6, 4.3.0, 4.3.1, 4.3.2, 4.3.3, 4.3.4, 4.3.5, 4.4.0, 4.4.1, 4.4.2, 4.4.3, 4.4.4, 4.4.5, 4.5.0, 4.5.1, 4.6.0, 4.6.1, 4.6.10, 4.6.2, 4.6.3, 4.6.4, 4.6.5, 4.6.6, 4.6.7, 4.6.8, 4.6.9, 4.7.0, 4.7.1, 4.7.2, 4.7.3, 4.7.4, 4.7.5, 4.7.6, 4.7.7, 4.8.0, 4.8.1, 4.8.10, 4.8.11, 4.8.12, 4.8.13, 4.8.14, 4.8.15, 4.8.16, 4.8.17, 4.8.18, 4.8.19, 4.8.2, 4.8.20, 4.8.21, 4.8.22, 4.8.23, 4.8.24, 4.8.25, 4.8.26, 4.8.27, 4.8.28, 4.8.29, 4.8.3, 4.8.30, 4.8.31, 4.8.32, 4.8.33, 4.8.34, 4.8.35, 4.8.36, 4.8.4, 4.8.5, 4.8.6, 4.8.7, 4.8.8, 4.8.9, 5.0.0, 5.0.1, 5.0.10, 5.0.2, 5.0.3, 5.0.4, 5.0.5, 5.0.6, 5.0.7, 5.0.8, 5.0.9, 5.1.0, 5.1.1, 5.1.2, 5.1.3, 5.1.4, 5.1.5, 5.1.6, 5.1.7, 5.2.0, 5.2.1, 5.2.10, 5.2.11, 5.2.12, 5.2.2, 5.2.3, 5.2.4, 5.2.5, 5.2.6, 5.2.7, 5.2.8, 5.2.9, 5.3.0, 5.3.1, 5.3.2, 5.3.3, 5.3.4, 5.3.5, 5.4.0, 5.4.1, 5.4.2, 5.4.3, 5.4.4, 5.4.5, 5.4.6, 5.4.7, 5.4.8, 5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.5, 5.5.6, 5.5.7, 5.6.0, 5.6.1, 5.6.2, 5.6.3, 5.6.4, 5.6.5, 5.6.6, 5.6.7, 5.6.8, 5.7.0, 5.7.1, 5.7.10, 5.7.11, 5.7.12, 5.7.13, 5.7.14, 5.7.15, 5.7.16, 5.7.17, 5.7.18, 5.7.19, 5.7.2, 5.7.20, 5.7.21, 5.7.22, 5.7.23, 5.7.24, 5.7.25, 5.7.26, 5.7.27, 5.7.3, 5.7.4, 5.7.5, 5.7.6, 5.7.7, 5.7.8, 5.7.9, 6.0.0, 6.0.1, 6.0.10, 6.0.11, 6.0.12, 6.0.13, 6.0.2, 6.0.3, 6.0.4, 6.0.5, 6.0.6, 6.0.7, 6.0.8, 6.0.9, 6.1.0, 6.1.1, 6.1.2, 6.1.3, 6.1.4, 6.2.0, 6.2.1, 6.2.2, 6.2.3, 6.2.4, 6.3.0, 6.3.1, 6.4.0, 6.4.1, 6.4.2, 6.4.3, 6.4.4, 6.5.0, 6.5.1, 6.5.10, 6.5.11, 6.5.12, 6.5.13, 6.5.14, 6.5.2, 6.5.3, 6.5.4, 6.5.5, 6.5.6, 6.5.7, 6.5.8, 6.5.9, 7.0.0, 7.0.1, 7.0.2, 7.0.3, 7.1.0, 7.1.1, 7.1.2, 7.1.3, 7.1.4, 7.1.5, 7.2.0, 7.2.1, 7.2.2, 7.2.3, 7.2.4, 7.2.5, 7.2.6, 7.2.7, 7.3.0, 7.3.1, 7.3.2, 7.3.3, 7.3.4, 7.3.5, 7.4.0, 7.4.1, 7.4.2, 7.4.3, 7.4.4, 7.4.5, 7.5.0, 7.5.1, 7.5.10, 7.5.11, 7.5.12, 7.5.13, 7.5.14, 7.5.15, 7.5.16, 7.5.17, 7.5.18, 7.5.19, 7.5.2, 7.5.20, 7.5.3, 7.5.4, 7.5.5, 7.5.6, 7.5.7, 7.5.8, 7.5.9, 8.0.0, 8.0.1, 8.0.2, 8.0.3, 8.0.4, 8.0.5, 8.0.6, 8.1.0, 8.1.1, 8.1.2, 8.1.3, 8.1.4, 8.1.5, 8.1.6, 8.2.0, 8.2.1, 8.2.2, 8.2.3, 8.2.4, 8.2.5, 8.3.0, 8.3.1, 8.3.2, 8.3.3, 8.3.4, 8.3.5, 8.4.0, 8.4.1, 8.4.2, 8.4.3, 8.5.0, 8.5.1, 8.5.2, 8.5.3, 8.5.4, 8.5.5, 8.5.6, 8.5.7, 8.5.8, 8.5.x-dev, 9.0.0, 9.0.1, 9.0.2, 9.1.0, 9.1.1, 9.1.2, 9.1.3, 9.1.4, 9.1.5, 9.2.0, 9.2.1, 9.2.2, 9.2.3, 9.2.4, 9.2.5, 9.2.6, 9.3.0, 9.3.1, 9.3.10, 9.3.11, 9.3.2, 9.3.3, 9.3.4, 9.3.5, 9.3.6, 9.3.7, 9.3.8, 9.3.9, 9.4.0, 9.4.1, 9.4.x-dev, 9.5.x-dev] but these conflict with your requirements or minimum-stability.
（略）
```

composer.jsonの66行目 ```"laminas/laminas-test": "^3.0.1",``` を削除して再実行。
するとインストールに成功し、vendorフォルダが作成された。



しかしこの後画面を確認するとFatal error…。
やっぱりマイグレツールを実施した後も、手直しが必要なのか…
zendframeworkバージョン2とバージョン3の間にも違いがあるらしいので、当然と言えば当然か･･･。