我試圖做這樣的事情:傳遞一個類,函數參數
function doSomething($param, Class) {
Class::someFunction();
}
$someVar = doSomething($param, Class);
這可能嗎?
更好地解釋我想要做的事情。我在Laravel有一個幫助函數來生成獨特的slu,,所以我必須根據slu where將被保存的位置來查詢不同的表格。
實際的代碼我試圖寫:
$newcat->slug = $helper->uniqueSlug($appname, Apk);
public function uniqueSlug($str, Apk)
{
$slug = Str::slug($str);
$count = Apk::whereRaw("slug RLIKE '^{$slug}(-[0-9]+)?$'")->count();
return $count ? "{$slug}-{$count}" : $slug;
}
謝謝!
將它作爲字符串傳遞? 'doSomething($ param,'PDO');'then'$ class :: somefunction()'? –
我從你的例子中沒有真正理解。你能不能更清楚些? – Alex
您試圖動態調用靜態方法,這基本上是一個設計缺陷。這可能是@Marc B的字符串建議,但更好的方法是使用實例方法和函數doSomething($ param,MyBaseClass $ instance){$ instance-> someFunction(); }' – Kenney