laravel 6 调用未定义的函数 Facuz\Theme\array_get()



使用laravel 6主题和资产管理包FacuzTheme package

返回一个 errot 调用未定义的函数 Facuz\Theme\array_get((

return is_null($key) ? $this->themeConfig : array_get($this->themeConfig, $key);

这似乎是 Laravel 6.0 中的一个重大更改

5.6 - 使用以下

array = ['products' => ['desk' => ['price' => 100]]];
$price = array_get($array, 'products.desk.price');

6.0 - 使用以下方法

$array = ['products' => ['desk' => ['price' => 100]]];
$price = Arr::get($array, 'products.desk.price');

https://laravel.com/docs/6.0/helpers#method-array-get

https://laravel.com/docs/5.6/helpers#method-array-get

看起来此调用仅在代码库中的 3 个位置使用:

https://github.com/FaCuZ/laravel-theme/search?q=array_get&unscoped_q=array_get

答:尝试更新包中的调用以匹配 6.0(假设没有其他重大更改(,这应该有效。如果它有效,我相信很多人会感谢拉取请求。

Laravel 6.x和7.x使用Arr::get()等同于array_get()。要使用它,请在控制器或 php 文件的顶部添加数组外观use IlluminateSupportArr;

use IlluminateSupportArr;
$array = ['products' => ['desk' => ['price' => 100]]];
$price = Arr::get($array, 'products.desk.price');

有关 laravel 6.x 数组和帮助程序的更多信息

array_get()函数已在Laravel 6中弃用。 你用Arr::get()而不是array_get().

注意:您应该先导入use IlluminateSupportArr;,然后再使用文件顶部的Arr::get()

最新更新