亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我可以將自定義類轉換為刀片 Laravel 中的變量嗎

我可以將自定義類轉換為刀片 Laravel 中的變量嗎

PHP
千萬里不及你 2022-07-16 18:40:33
我可以在 Laravel Blade 中做類似的事情嗎:@foreach($collection as (CustomClass) $object)
查看完整描述

3 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

這是不可能的。由于 Blade 是一種 PHP 模板語言,你只能做 PHP 允許的事情……而且它不允許你在局部變量上強制轉換類型。


您只能鍵入提示函數參數和 - 在新發布的 PHP 7.4 中 - 類屬性。你也可以給你的函數一個返回類型。


PHP 7+:


public function foo(string $bar): int

{

    return strlen($bar);

}

PHP 7.4+:


   protected int $count;

當然,我的示例是使用標量類型(字符串、整數、浮點數、布爾值)制作的,但您完全可以在此處放置自定義類。


public function logout(App\User $user)

{

    //stuff

}


查看完整回答
反對 回復 2022-07-16
?
青春有我

TA貢獻1784條經驗 獲得超8個贊

您在問題中提供的信息很少,但是由于您使用的是@foreach,因此您可以按以下方式進行類型轉換,這應該可以工作:


@foreach($collection as $object)

@php($object = (object)$object)

......

@endforeach

這應該允許您使用$object->item


查看完整回答
反對 回復 2022-07-16
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

您可以使用Collection::whereInstanceOf()過濾掉任何不屬于您想要的類的東西。 https://laravel.com/docs/5.8/collections#method-whereinstanceof


@foreach($collection->whereInstanceOf(CustomClass) as $object)

如果你想簡單地出錯,如果不是你的類,那么你可以比較集合的大小。但我建議在控制器中執行此操作:


if ($collection->whereInstanceOf(CustomClass)->count() !== $collection->count()) {

    throw Exception();

}


查看完整回答
反對 回復 2022-07-16
  • 3 回答
  • 0 關注
  • 116 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號