我正在玩一个 Laravel 项目,看看是否可以使用闭包来实现排序接口,我注意到当我dd()闭包时,它还显示了将闭包创建为属性的类。
// in my Order model class, i have a function that will return a closure\npublic static function defaultSortFunction(){\n $sortColumn = property_exists(self::class,'defaultSortingColumn') ? self::$defaultSortingColumn : 'created_at';\n\n return function($p,$n)use($sortColumn){\n return $p->$sortColumn <=> $n->$sortColumn;\n };\n}\nRun Code Online (Sandbox Code Playgroud)\n// in one of my controller I use for testing, I added these 2 methods for testing\npublic function index(){\n $sortFunction = Order::defaultSortFunction();\n $this->someOtherFunction($sortFunction);\n return 'done';\n}\n\nprivate function someOtherFunction($fn){\n dd($fn);\n\n // $scopeModel = get_class($fn); => Closure\n \n // example …Run Code Online (Sandbox Code Playgroud)