php8.4.1 原生模板问题

surzace

问题描述

报错

ErrorException: support\view\Raw::render(): Implicitly marking parameter $app as nullable is deprecated, the explicit nullable type must be used instead in D:\webman\sjk-1.6.2\vendor\workerman\webman-framework\src\support\view\Raw.php:55

程序代码或配置

<?php
namespace app\controller;

use support\{Db, Request, Response};

class IndexController
{
    function index(string $lang = 'zh_CN'): Response
    {
        locale($lang);
        return view('index');
    }
    function login(Request $request): Response
    {
        $rp = $request->post();
        if ($rp['account'] !== 'sjk_admin' || !password_verify($rp['password'], Db::table('password')->where('id', 1)->value('password'))) {
            return json(['code' => 1, 'msg' => trans('login_error')]);
        }
        return json(['code' => 0, 'msg' => trans('login_success')]);
    }
}

重现问题的步骤

用的原生模板, 暂时还没测试其他的模板

操作系统环境及workerman/webman等具体版本

Windows 11
PHP 8.4.1
Webman 1.6.2

196 1 0
1个回答

先不要用php8.4,php8.4刚出,PHP新版本自身会有很多bug。
另外大部分composer库还没开始兼容php8.4,即使webman workerman支持php8.4,其它大部分库也还未支持.

  • surzace 7天前

    不能改一下吗? 这个也就加个问号就搞定的事

  • walkor 7天前

    composer require workerman/webman-framework:dev-master

×
🔝