Fasáda Requests
Odporúčaným vstupným bodom je fasáda Requests. Plne kvalifikovaná RoundlyConsulting\Requests\Facades\Requests funguje vždy; ak je názov voľný, zaregistruje sa aj krátky alias Requests. Stojí za ňou RequestManager, takže každé volanie nižšie funguje aj na injektovanom manažéri (pozri DI, akcie a DTO). Celý rozsah fasády:
use RoundlyConsulting\Requests\Enums\Status;
use RoundlyConsulting\Requests\Facades\Requests;
// Create — fluently, or from a ready DTO
$request = Requests::make()->author($user)->title('Expense reimbursement')
->requireApprovalsFrom([$alice, $bob])->create();
$request = Requests::create($dto);
// Decide — the reason is optional
Requests::approve($request, $alice, reason: 'Within budget');
Requests::reject($request, $carol, reason: 'Out of policy');
Requests::reopen($request, $alice); // back to New — a finished round reopens fresh
// Close
Requests::cancel($request); // status = Cancelled
Requests::expire($request); // status = Expired
Requests::expireDue(); // int — expire every open, past-due request
// Ask the lifecycle graph
Requests::canTransition($request, Status::Approved); // boolPrehľad metód
| Metóda | Vracia | Účel |
|---|---|---|
make() | RequestBuilder | Začne fluentnú žiadosť; ->create() ju uloží. |
create(CreateRequestDto $dto) | Request | Vytvorí žiadosť z hotového DTO. |
approve($request, $actor, ?$reason) | Request | Zaznamená schválenie; kedy sa žiadosť prepne, určí pravidlo. |
reject($request, $actor, ?$reason) | Request | Zaznamená zamietnutie. |
reopen($request, $actor, ?$reason) | Request | Späť do New; stiahne rozhodnutie aktéra, alebo po skončenom kole otvorí nové. |
cancel($request) | Request | Stav Cancelled; uzavrie otvorené schvaľovacie kolo. |
expire($request) | Request | Stav Expired; uzavrie otvorené schvaľovacie kolo. |
expireDue(bool $dryRun = false, int $chunk = 500) | int | Nechá expirovať každú otvorenú žiadosť po termíne; skúšobný beh ich len spočíta. |
canTransition($request, Status $to) | bool | Či graf životného cyklu prechod povoľuje. |
fake() | RequestsFake | Vymení manažér za zaznamenávajúci fake — pozri Testovanie. |
approve(), reject() a reopen() prijímajú akýkoľvek model s rozhraním GivesApprovalsInterface. Fluentný builder za make() opisuje časť Vytváranie žiadostí.
Prejavte lásku k open source
Tento balík je zadarmo pod licenciou MIT. Ak vám šetrí čas, jednorazový príspevok alebo členstvo na Patreone nám pomôže ho ďalej udržiavať, testovať a dokumentovať.
Ďalšie spôsoby podpory vrátane kryptomienOdoslaním daru súhlasíte s našimi podmienkami prijímania darov.
Chcete to zabudovať do svojho produktu?
Naše balíky integrujeme do zákazkových Laravel a AI riešení. Napíšte nám, na čom pracujete, a ozveme sa do 48 hodín.