Lumen/Laravel 6:调用未定义的函数 array_except()

2022-08-30 20:12:03

因此,我的Mailable视图正在抛出此错误 - 这就是我手上的全部内容。当我在Lumen 5.8上时,它工作正常,所以我的猜测是它发生在升级到Laravel 6之后。

调用未定义的函数 array_except() (查看: /kunden/182801_60322/tu/uat/api/resources/views/mail/invite-employee.blade.php)

我的刀片文件如下所示:

@extends('mail.master')

@section('content')
<tr>
    <td align="left" style="border: 1px solid #dddee5; border-bottom: 2px solid #cecfd9; padding; 20px;">
        <div class="padded">
            <p>
            {!! nl2br(e($data->message)) !!}
            </p>
        </div>
    </td>
<tr>
<tr>
    <td align="left" bgcolor="#eaeaf2" class="padded">
        <p style="margin-bottom: 5px;" class="cta-label">{{ $data->copy->click }}</p>
        <div class="cta-link">
            <a style="color: #337BE9;" class="cta-link--a" href="{{ $data->appUrl }}/{{ $data->route }}/{{ $data->verificationCode }}">{{ $data->appUrl }}/{{ $data->route }}/{{ $data->verificationCode }}</a>
        </div>
        <p style="font-size: 12px; margin-top: 10px;">{{ $data->copy->mistake }}</p>
    </td>
</tr>
@endsection

显然,代码的任何部分都没有尝试调用该函数。

我的 composer.json 看起来像这样:

{
    "name": "laravel/lumen",
    "description": "The Laravel Lumen Framework.",
    "keywords": ["framework", "laravel", "lumen"],
    "license": "MIT",
    "type": "project",
    "require": {
        "php": ">=7.3.9",
        "laravel/lumen-framework": "^6.0",
        "vlucas/phpdotenv": "^3.3",
        "firebase/php-jwt": "^4.0",
        "guzzlehttp/guzzle": "^6.3",
        "illuminate/mail": "6.0.0",
        "phanan/cascading-config": "~2.0",
        "nesbot/carbon": "^2.0",
        "neitanod/forceutf8": "2.0.1",
        "maatwebsite/excel": "^3.1",
        "mpdf/mpdf": "^8.0",
        "tecnickcom/tcpdf": "^6.3",
        "laravel/helpers": "^1.1"
    },
    "require-dev": {
        "fzaninotto/faker": "~1.4",
        "phpunit/phpunit": "~5.0",
        "mockery/mockery": "~0.9"
    },
    "autoload": {
        "psr-4": {
            "App\\": "app/"
        }
    },
    "autoload-dev": {
        "classmap": [
            "tests/",
            "database/"
        ]
    },
    "scripts": {
        "post-root-package-install": [
            "php -r \"copy('.env.example', '.env');\""
        ]
    },
    "minimum-stability": "dev",
    "prefer-stable": true
}

其中现在也单独包括在内。到目前为止,没有任何帮助。任何想法是什么导致此错误?laravel/helpers


答案 1

派对有点晚了,但:

正如其他人所提到的,str_和array_助手已被移动到一个单独的包中。如果在更新到 laravel 6 后不希望使用该包,则必须清除使用旧帮助程序方法编译的视图。

composer dump-autoload

然后

php artisan view:clear

为我工作


答案 2

所有str_和array_帮助程序都已移至新的 laravel/helpers Composer 包,并在新版本 (6.0) 中从框架中删除

您可以添加帮助程序包:

composer require laravel/helpers

正如我看到你添加的软件包尝试转储自动加载:

composer dump-autoload

升级 6.0 - 字符串和数组帮助程序包


推荐