1.4アップグレードガイド
バックアップを取ってから以下のコマンドを実行してください
composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install
注意
アップグレードできない場合、おそらくcomposerプロキシを使用しているためです。以下のコマンドを使用して、composer公式のデータソースを復元してくださいcomposer config -g --unset repos.packagist
機能特性と変更点
アプリケーションプラグイン
1.4バージョンではアプリケーションプラグインをサポートしています。詳細についてはアプリケーションプラグインを参照してください。
自動ルーティング
1.4バージョンではさまざまな複雑なコントローラディレクトリ規則をサポートしています。例:
app
├── admin
│ └── v1
│ └── v2
│ └── v3
│ └── controller
│ └── Index.php
└── controller
├── v1
│ └── Index.php
└── v2
└── v3
└── Index.php
つまり、webman/auto-route
プラグインはもはや必要ありません。
コントローラ再利用スイッチ
1.4バージョンではコントローラの再利用を無効にすることができます。config/app.php
で'controller_reuse' => false,
を設定すると、各リクエストで新しいコントローラの初期化が行われます。つまり、各リクエストで対応するコントローラの__construct()
コンストラクタが実行され、開発者はコンストラクタでリクエストごとの初期化作業を実行することができます。
コントローラの再利用を無効にできるため、webman/action-hook
プラグインはもはや必要ありません。
HTTPサービスの開始
1.4バージョンでは複数のポートを開いてHTTPサービスを提供することができます。詳細は慢业务处理を参照してください。
ビューファイルの構成
サフィックスはview.phpのオプションでのみ設定できます。
サポートされない使用法
use support\view\Raw;
return [
'handler' => Raw::class,
'view_suffix' => '.php'
];
正しい使用法
use support\view\Raw;
return [
'handler' => Raw::class,
'options' => [
'view_suffix' => '.php'
]
];
セッションドライバの名前空間の変更
webmanは1.4.0からSessionHandler
クラスの名前空間を変更しました。以前は以下のようにしていました。
use Webman\FileSessionHandler;
use Webman\RedisSessionHandler;
use Webman\RedisClusterSessionHandler;
新たに以下のように変更されました。
use Webman\Session\FileSessionHandler;
use Webman\Session\RedisSessionHandler;
use Webman\Session\RedisClusterSessionHandler;
アップグレード後にプログラムが直接エラーを発生させないようにするために、Webman\FileSessionHandler
クラスはしばらく残されますが、将来のバージョンで完全に削除されます。
この変更はconfig/session.php
の'handler'
設定に影響します。