1.4 업그레이드 안내

백업을 제대로 해두고 아래 명령어를 실행하여 업그레이드하세요

composer require workerman/webman-framework ^1.4.7 && composer require webman/console ^1.2.12 && php webman install

주의
업그레이드에 실패한다면 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의 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' 구성에 영향을 미칩니다.