• Час читання ~1 хв
  • 28.07.2023

Пакет Level Up - це пакет Laravel, який вводить гейміфікацію у ваші програми. Користувачі можуть заробляти очки досвіду (XP) і отримувати рівні за допомогою вашого додатка. Він також включає функцію динамічного лідера.

Цей пакет має три концепції, з яких складається гейміфікація:

  • Очки досвіду (XP)
  • Рівнів
  • Досягнення

Після того, як ви імпортуєте цю ознаку у свою модель користувача:Ця риса моделі відкриває різні методи роботи з API гейміфікації:Ви можете створювати рівні для свого додатка за допомогою наступного API:

use LevelUp\Experience\Concerns\GiveExperience;

class User extends Model
{
    use GiveExperience;

    // ...
}

$user->addPoints(10);
$user->deductPoints(10);
$user->setPoints(10);
$user->getPoints();

Level::add(
    ['level' => 1, 'next_level_experience' => null],
    ['level' => 2, 'next_level_experience' => 100],
    ['level' => 3, 'next_level_experience' => 250],
);

І, нарешті, ось як GiveExperience ви створюєте досягнення Ви також можете визначити секретні досягнення

Achievement::create([
    'name' => 'Hit Level 20',
    'is_secret' => false,
    'description' => 'When a User hits Level 20',
    'image' => 'storage/app/achievements/level-20.png',
]);
// Unlock an achievement
$achievement = Achievement::find(1);
$user->grantAchievement($achievement);

// Set achievement progress
$user->grantAchievement(
    achievement: $achievement,
    progress: 50 // 50%
);

, приховані від користувача, поки вони не будуть розблоковані. Цей пакет також підтримує аудит, відстеження, коли користувач набирає бали, підвищує рівні тощо.

Ви можете дізнатися більше про цей пакет, отримати повні інструкції зі встановлення та переглянути вихідний код на GitHub.

Comments

No comments yet
Yurij Finiv

Yurij Finiv

Full stack

Про мене

Professional Fullstack Developer with extensive experience in website and desktop application development. Proficient in a wide range of tools and technologies, including Bootstrap, Tailwind, HTML5, CSS3, PUG, JavaScript, Alpine.js, jQuery, PHP, MODX, and Node.js. Skilled in website development using Symfony, MODX, and Laravel. Experience: Contributed to the development and translation of MODX3 i...

Про автора CrazyBoy49z
WORK EXPERIENCE
Контакти
Ukraine, Lutsk
+380979856297