我有一系列用于應用程式的常量字串,它們放置在我的 config 目錄中名為 gameconstants 的檔案中
我正在使用 config() 函式來獲取各種訊息,因此該檔案看起來與此類似
return [
'furiouspunches' => ' furiously punches ',
'kick' => ' kicks $loser in the junk ',
有沒有辦法讓我訪問 $loser 變數?我正在使用這些常量為我正在構建的應用程式回傳字串,所以我最終連接了這個回傳值,最終輸出類似于
$winner . config('gameconstants.kick') . $loser
但是字串并不總是以這種方式播放,所以我想訪問該變數,以便我可以回傳該字串的不同變體。
我試過了
config('gameconstants.kick.$loser') 但這不起作用。有什么想法嗎?
提前致謝。
uj5u.com熱心網友回復:
您將需要使用字串替換,例如
return [
'furiouspunches' => ' furiously punches ',
'kick' => ' kicks {loser} in the junk ',
然后
$string = $winner . str_replace('{loser}', $loser, config('gameconstants.kick'))
uj5u.com熱心網友回復:
您可以使用翻譯檔案而不是組態檔。翻譯檔案也支持引數替換。
在resources/lang/en/strings.php以下位置創建檔案:
<?php
// resources/lang/en/strings.php
return [
'furiouspunches' => ' furiously punches ',
'kick' => ' kicks :loser in the junk ',
];
然后使用雙下劃線方法 ( __())訪問字串,并傳入占位符值陣列:
$string = $winner . __('strings.kick', ['loser' => $loser]);
您可以在此處閱讀翻譯檔案和變數替換。
根據您的用例,您可能希望在字串中包含這兩個專案。也許是這樣的:
<?php
// resources/lang/en/strings.php
return [
'furiouspunches' => ':subject furiously punches :object',
'kick' => ':subject kicks :object in the junk',
];
然后傳入兩個替換:
$string = __('strings.kick', ['subject' => $winner, 'object' => $loser]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/354280.html
下一篇:C中二維陣列中特定列的總和
