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
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のoptionsオプションでのみ設定できます。
サポートされなくなった使い方

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'設定に影響を与えます。