getBindings() as $key => $value) { $pluginConfigCollection->push($this->make($key, [$memberCart])); } // 按权重排序 $pluginGroups = $pluginConfigCollection->sortBy(function (BaseShopGroup $pluginGroup) { return $pluginGroup->getWeight(); }); foreach ($pluginGroups as $key => $pluginGroup) { /** * @var BaseShopGroup $pluginGroup */ if ($pluginGroup->validate()) { return $pluginGroup; } } return new DefaultShopGroup($memberCart); } }