【问题标题】:How to address safely complex data structures passed on a laravel blade?如何安全地处理在 laravel 刀片上传递的复杂数据结构?
【发布时间】:2020-12-27 16:49:28
【问题描述】:

在 Laravel 中,您可能会将相当复杂的数据结构传递给刀片。 在那些你可能假设有键和不同级别的数据结构上 写刀片。

在刀片代码上处理可能的未定义索引的最佳做法是什么?

是编写类似(每次在刀片中寻址结构时)的唯一解决方案

<div>{{ $dataStruct['key0001'] ?? '' }}</div> }}

或(多维)

@isset($dataStruct['key0002'])
    <div>{{ $dataStruct['key0002']['name'] ?? '' }}</div> }}
@endisset

为了避免 ErrorException "Undefined index: key0001"

使用 colasce 操作符是有道理的,但我们会将它分布在所有代码块中以安全地回退...有时我们想中断。更高层次。所以……

例如是否有一些尝试捕获块方法以显示后备html以防万一 某些 dataStructure 键未提供?

还有什么想法吗?

【问题讨论】:

  • 我喜欢使用?? 运算符而不是try cacth,因为它既简单又小

标签: laravel laravel-blade undefined-index


【解决方案1】:

试试这个:

    <div>{{ array_key_exist('key0002', $dataStruct) ? $dataStruct['key0002']['name'] : '' }}</div>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 2020-05-31
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    相关资源
    最近更新 更多