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
를 사용하여 composer 공식 데이터 소스로 복원하세요.
기능 특성 및 변경 사항
애플리케이션 플러그인
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'
구성에 영향을 미칩니다.