Bez fasády
Fasáda je odporúčaná voľba, nie jediná cesta. Je to tenká vrstva nad RoundlyConsulting\Metrics\MetricsManager, koreňom fasády — injektujte ho cez konštruktor a získate rovnaké API s explicitnou závislosťou a bez statických volaní:
use App\Models\User;
use RoundlyConsulting\Metrics\MetricsManager;
final class DashboardController
{
public function __construct(private MetricsManager $metrics) {}
public function __invoke(): array
{
return [
'revenue' => $this->metrics->get('revenue')->result()->value(),
'signups' => $this->metrics->value()->count(User::query())->range('TODAY')->result()->value(),
];
}
}Metrics::fake() nahradí manažéra za fasádou aj v kontajneri, takže fake dostane aj injektovaný MetricsManager.
Triedy metrík samostatne
Trieda metriky funguje aj bez registra a fasády — vytvorte ju cez make() alebo ju získajte z kontajnera:
RegisteredUsers::make()->range('TODAY')->result(); // ValueResult
app(RegisteredUsers::class)->toArray(); // resolved through the containerŽiadne triedy akcií
Metrics je výpočtový balík, preto nemá triedy akcií: správanie nesú buildery a vaše triedy metrík, manažér ich len registruje, vyhodnocuje a invaliduje.
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.