小编Hel*_*rch的帖子

PHP Closures - 获取闭包范围起源的类名

案件

\n

我正在玩一个 Laravel 项目,看看是否可以使用闭包来实现排序接口,我注意到当我dd()闭包时,它还显示了将闭包创建为属性的类。

\n

最小化代码

\n
// 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}\n
Run 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)

php closures laravel

4
推荐指数
1
解决办法
1227
查看次数

标签 统计

closures ×1

laravel ×1

php ×1