Lumen/Laravel6:调用未定义的函数array_except()
Lumen/Laravel 6: Call to undefined function array_except()
所以我的 Mailable 视图抛出了这个错误 - 这就是我手上的全部。当我使用 Lumen 5.8 时它运行良好,所以我猜测它是在升级到 Laravel 6.
后发生的
Call to undefined function array_except() (View:
/kunden/182801_60322/tu/uat/api/resources/views/mail/invite-employee.blade.php)
我的 blade 文件如下所示:
@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
现在也单独包含在内。到目前为止没有任何帮助。知道是什么导致了这个错误吗?
所有 str_ 和 array_ 助手都已移至新的 laravel/helpers Composer 包并从新版本 (6.0) 的框架中删除
您可以添加助手包:
composer require laravel/helpers
我看到你添加了包尝试转储自动加载:
composer dump-autoload
好的,在@aynber 建议在所有地方进行 grep 之后,我发现 storage/framework/views
中的一些视图有行 array_except
。在删除该目录中的所有内容并按照@sharhabphp 的建议重新生成 autoload.php 后,一切都再次正常工作。
谢谢大家!
聚会有点晚了但是:
正如其他人提到的,str_ 和 array_ 助手已移至单独的包中。如果您不想在更新到 laravel 6 后使用该包,则必须清除使用旧的辅助方法编译的视图。
composer dump-autoload
然后
php artisan view:clear
对我有用
所以我的 Mailable 视图抛出了这个错误 - 这就是我手上的全部。当我使用 Lumen 5.8 时它运行良好,所以我猜测它是在升级到 Laravel 6.
后发生的Call to undefined function array_except() (View: /kunden/182801_60322/tu/uat/api/resources/views/mail/invite-employee.blade.php)
我的 blade 文件如下所示:
@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
现在也单独包含在内。到目前为止没有任何帮助。知道是什么导致了这个错误吗?
所有 str_ 和 array_ 助手都已移至新的 laravel/helpers Composer 包并从新版本 (6.0) 的框架中删除
您可以添加助手包:
composer require laravel/helpers
我看到你添加了包尝试转储自动加载:
composer dump-autoload
好的,在@aynber 建议在所有地方进行 grep 之后,我发现 storage/framework/views
中的一些视图有行 array_except
。在删除该目录中的所有内容并按照@sharhabphp 的建议重新生成 autoload.php 后,一切都再次正常工作。
谢谢大家!
聚会有点晚了但是:
正如其他人提到的,str_ 和 array_ 助手已移至单独的包中。如果您不想在更新到 laravel 6 后使用该包,则必须清除使用旧的辅助方法编译的视图。
composer dump-autoload
然后
php artisan view:clear
对我有用