user_id = $userId; $validation->item_id = $itemId; $validation->quantity = $quantity; // 验证 if (!$validation->validated()) { throw new Exception($validation->getErrors()[0] ?? '物品数量验证失败'); } // 验证通过,执行使用物品的逻辑 // ... return true; } /** * 使用实例物品 * * @param int $userId 用户ID * @param int $itemId 物品ID * @param int $instanceId 实例ID * @return bool 是否成功 * @throws Exception 验证失败时抛出异常 */ public static function useInstanceItem(int $userId, int $itemId, int $instanceId): bool { // 创建验证对象 $validation = new ItemQuantityValidation(); $validation->user_id = $userId; $validation->item_id = $itemId; $validation->instance_id = $instanceId; // 验证 if (!$validation->validated()) { throw new Exception($validation->getErrors()[0] ?? '物品数量验证失败'); } // 验证通过,执行使用实例物品的逻辑 // ... return true; } /** * 使用任意类型物品 * * @param int $userId 用户ID * @param int $itemId 物品ID * @param int $quantity 数量 * @return bool 是否成功 * @throws Exception 验证失败时抛出异常 */ public static function useAnyTypeItem(int $userId, int $itemId, int $quantity = 1): bool { // 创建验证对象 $validation = new ItemQuantityValidation(); $validation->user_id = $userId; $validation->item_id = $itemId; $validation->quantity = $quantity; $validation->include_all_types = true; // 验证 if (!$validation->validated()) { throw new Exception($validation->getErrors()[0] ?? '物品数量验证失败'); } // 验证通过,执行使用物品的逻辑 // ... return true; } }