TGStat
TGStat
Type to search
Advanced channel search
  • flag English
    Site language
    flag Russian flag English flag Uzbek
  • Sign In
  • Catalog
    Channels and groups catalog Regional compilations Thematic compilations Платные каналы Search for channels
    Add a channel/group
  • Ratings
    Rating of channels Rating of groups Posts rating
    Ratings of brands and people
  • Analytics
  • Search by posts
  • Telegram monitoring
  • Promotion
    Advertising through Yandex Business Advertising in channels through TGStat Agency Advertising on TGStat.ru website
Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter

15 Sep, 10:35

Open in Telegram Share Report

💰 Версионирование бизнес-правил в Laravel

Бизнес-правила меняются, но старые решения должны оставаться объяснимыми. Например, цена для одного и того же автомобиля может отличаться в зависимости от даты счёта.

Пакет Laravel Rulebook помогает:

🤩 хранить правила в отдельных PHP-классах;
🤩 задавать периоды действия;
🤩 выбирать правило по приоритету;
🤩 объяснять, почему оно победило;
🤩 сохранять результат решения в snapshot.


Пример:


$decision = $rulebook->resolveAt(
subject: $vehicle,
at: $invoice->issued_at,
context: $pricingContext,
);
$price = $decision->outcome();
$reason = $decision->winningResult()->reason();


Подходит для pricing, billing, eligibility и других сценариев, где важна история решений.

🔗 ⁠Laravel Rulebook на Packagist

🐸 Библиотека пхпшника

1.9k 0 23 2 11
Catalog
Channels and groups catalog Channels compilations Search for channels Add a channel/group
Ratings
Rating of Telegram channels Rating of Telegram groups Posts rating Ratings of brands and people
API
API statistics Search API of posts API Callback
Our channels
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Read
Академия TGStat Telegram Research 2019 Telegram Research 2021 Telegram Research 2023
Contacts
Справочный центр Support Email Jobs
Miscellaneous
Terms and conditions Privacy policy Public offer
Our bots
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot