|
|
@@ -1,100 +0,0 @@
|
|
|
-<?php
|
|
|
-
|
|
|
-require_once 'vendor/autoload.php';
|
|
|
-
|
|
|
-use App\Module\Pet\Dtos\PetLifeSkillDto;
|
|
|
-use App\Module\Game\Dtos\PetStatusTempDto;
|
|
|
-
|
|
|
-echo "开始测试宠物技能修复...\n";
|
|
|
-
|
|
|
-// 测试1: 创建PetLifeSkillDto对象
|
|
|
-echo "\n=== 测试1: 创建PetLifeSkillDto对象 ===\n";
|
|
|
-$lifeSkill1 = new PetLifeSkillDto();
|
|
|
-$lifeSkill1->skillId = 1;
|
|
|
-$lifeSkill1->canuse = true;
|
|
|
-$lifeSkill1->curnum = 0;
|
|
|
-$lifeSkill1->maxnum = 300;
|
|
|
-
|
|
|
-$lifeSkill2 = new PetLifeSkillDto();
|
|
|
-$lifeSkill2->skillId = 2;
|
|
|
-$lifeSkill2->canuse = false;
|
|
|
-$lifeSkill2->curnum = 150;
|
|
|
-$lifeSkill2->maxnum = 300;
|
|
|
-
|
|
|
-echo "创建了2个PetLifeSkillDto对象\n";
|
|
|
-echo "技能1: skillId={$lifeSkill1->skillId}, canuse=" . ($lifeSkill1->canuse ? 'true' : 'false') . "\n";
|
|
|
-echo "技能2: skillId={$lifeSkill2->skillId}, canuse=" . ($lifeSkill2->canuse ? 'true' : 'false') . "\n";
|
|
|
-
|
|
|
-// 测试2: 创建PetStatusTempDto对象并设置lifeSkills
|
|
|
-echo "\n=== 测试2: 创建PetStatusTempDto对象 ===\n";
|
|
|
-$petTempDto = new PetStatusTempDto();
|
|
|
-$petTempDto->id = 1;
|
|
|
-$petTempDto->name = '测试宠物';
|
|
|
-$petTempDto->lifeSkills = [$lifeSkill1, $lifeSkill2];
|
|
|
-
|
|
|
-echo "创建了PetStatusTempDto对象\n";
|
|
|
-echo "宠物ID: {$petTempDto->id}\n";
|
|
|
-echo "宠物名称: {$petTempDto->name}\n";
|
|
|
-echo "生活技能数量: " . count($petTempDto->lifeSkills) . "\n";
|
|
|
-
|
|
|
-foreach ($petTempDto->lifeSkills as $index => $skill) {
|
|
|
- echo "技能{$index}: " . get_class($skill) . ", skillId={$skill->skillId}\n";
|
|
|
-}
|
|
|
-
|
|
|
-// 测试3: 模拟缓存数据并使用fromCache恢复
|
|
|
-echo "\n=== 测试3: 测试fromCache方法 ===\n";
|
|
|
-$cachedData = [
|
|
|
- 1 => [
|
|
|
- 'id' => 1,
|
|
|
- 'name' => '测试宠物',
|
|
|
- 'life_skills' => [
|
|
|
- [
|
|
|
- 'skill_id' => 1,
|
|
|
- 'canuse' => true,
|
|
|
- 'curnum' => 0,
|
|
|
- 'maxnum' => 300
|
|
|
- ],
|
|
|
- [
|
|
|
- 'skill_id' => 2,
|
|
|
- 'canuse' => false,
|
|
|
- 'curnum' => 150,
|
|
|
- 'maxnum' => 300
|
|
|
- ]
|
|
|
- ]
|
|
|
- ]
|
|
|
-];
|
|
|
-
|
|
|
-echo "模拟缓存数据:\n";
|
|
|
-print_r($cachedData);
|
|
|
-
|
|
|
-$result = PetStatusTempDto::fromCache($cachedData);
|
|
|
-
|
|
|
-echo "\n使用fromCache恢复数据:\n";
|
|
|
-echo "恢复的数据数量: " . count($result) . "\n";
|
|
|
-
|
|
|
-if (isset($result[1])) {
|
|
|
- $recoveredPet = $result[1];
|
|
|
- echo "恢复的宠物类型: " . get_class($recoveredPet) . "\n";
|
|
|
- echo "恢复的宠物ID: {$recoveredPet->id}\n";
|
|
|
- echo "恢复的宠物名称: {$recoveredPet->name}\n";
|
|
|
- echo "恢复的生活技能数量: " . count($recoveredPet->lifeSkills) . "\n";
|
|
|
-
|
|
|
- foreach ($recoveredPet->lifeSkills as $index => $skill) {
|
|
|
- echo "恢复的技能{$index}: " . get_class($skill) . ", skillId={$skill->skillId}, canuse=" . ($skill->canuse ? 'true' : 'false') . "\n";
|
|
|
- }
|
|
|
-
|
|
|
- // 测试4: 验证访问skillId属性不会出错
|
|
|
- echo "\n=== 测试4: 验证访问skillId属性 ===\n";
|
|
|
- try {
|
|
|
- foreach ($recoveredPet->lifeSkills as $skill) {
|
|
|
- echo "访问技能skillId: {$skill->skillId} - 成功\n";
|
|
|
- }
|
|
|
- echo "所有技能的skillId属性访问成功!\n";
|
|
|
- } catch (Exception $e) {
|
|
|
- echo "错误: " . $e->getMessage() . "\n";
|
|
|
- }
|
|
|
-} else {
|
|
|
- echo "错误: 无法恢复宠物数据\n";
|
|
|
-}
|
|
|
-
|
|
|
-echo "\n测试完成!\n";
|