簡體   English   中英

有沒有辦法強制僅使用命名參數調用 function 或方法?

[英]Is there a way to force a function or method to be called using named parameters only?

例如,假設我們編寫了以下 function:

function myFunction(
    Foo $foo,
    Bar $bar,
) {}

在未來,我們意識到我們想要重新排序我們的參數:

function myFunction(
    Bar $bar,
    Foo $foo,
) {}

如果僅使用命名參數調用此 function,則上述更改不會破壞任何現有代碼。

因此,有沒有辦法強制只使用命名參數調用 function 或方法?

如果你真的想要,那么一種方法是使用數組參數

function myFunction ($par)
{ 
  $Foo = $par['Foo'];
  $Bar - $par['Bar'];
}

叫它

$param = ['Foo'=>23.4, 'Bar'=>'Hello'];
myFunction ($param);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM