laravel 5.4 で Youtube API を使用しています。YouTube の継続時間を変換するために、次のようなブレード ファイルでインライン php を使用しました。
<?php
$duration = $video['items'][0]['contentDetails']['duration'];
$duration = str_replace(array("PT","M","S"), array("",":",""), $duration);
?>
{{ $duration }}
私は知っています、それはMVCルールを台無しにしたので、この種の状況に対処するための最良の方法は何ですか? また、Bladeを拡張してチェックアウトしましたが、完全に理解できませんでした!
この期間フィールドをフォーマットするヘルパー関数を作成するだけです。
app/helpers.php
アプリのルートにファイルを作成し、このメソッドを追加します
if (! function_exists('format_video_duration')) {
function format_video_duration($duration)
{
return str_replace(array("PT","M","S"), array("",":",""), $duration);
}
}
その後、composer.json にヘルパーをロードします。
"autoload": {
// ..
"files": [
"app/helpers.php"
]
},
次に、ブレード ファイルまたは任意の場所でそれを使用します
{{ format_video_duration($video['items'][0]['contentDetails']['duration']) }}
このビデオ配列をクラスにラップして、使用をさらに簡単にすることができます。
{{$video[0]->contentDetails()->formatDuration()}}
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加