在我創建的應用程序中,我需要將未知數量的參數傳遞給類的未知構造函數。 類(+命名空間)是一個字符串,它在$ class中。 參數在數組中。PHP:性能:splat運算符或反射
此應用程序將在幾個月內部署,所以我們認爲我們可以在PHP 5.6中開發它。 所以我認爲這個解決辦法是:
$instance = new $class(...$args);
這是工作......
但我的同事不願意接受這一點,因爲CI服務器不明白這行碼。 他們的解決方案寧願:
$reflect = new \ReflectionClass($class);
$instance = $reflect->newInstanceArgs($args)
現在:兩者都工作正常,所以這不是問題。 但我的想法是,使用其他方式(例如PHP 5.6 splat運算符),反射速度較慢。
另外問題:是否反射一個好方法,我應該從CI服務器明白那一行的那一刻起使用splat運算符?
無論哪種方式的基準。如果您發現任何重大差異,請給我們寫明信片。 – deceze
未知課程?這聽起來像是一個非常糟糕的設計。 –
爲什麼不使用一個變量作爲params數組? – Phantom