プロジェクトで利用しているCollectionライブラリをemonkak/php-collectionからDusanKasan/Knapsackへ置き換える際に機械的に実行できるように作成したツール
なお、PHP7.0.xを想定
- 対象リポジトリのルートディレクトリにclone
composer install
# 必要に応じて対象ファイルを変更
$ vim lib/TargetFiles.php
# 変換を行う
$ php convert.php
# 変換のドライランを行う
$ php convert.php --dry-run
# メソッドチェーンのメソッドと取る引数の一覧をjsonで出力する
$ php analyze.php
# テスト実行
$ vendor/bin/phpunit tests/
コードの変換による動作を保証するためテストを書いています。以下のようにして変換後のコードの動作を保証します
$ vendor/bin/phpunit tests/
OK (X tests, X assertions)
$ php convert.php # コード変換
$ vendor/bin/phpunit tests/
OK (X tests, X assertions)
テストケースはEmonkakの動作を網羅しているのではなく、connect既存実装で使われているコードの動作を保証するように書いています
既存実装で利用しているメソッド、引数の数・型は analyze.php
で確認