Explicitné objekty požiadaviek
Objekty požiadaviek zostávajú k dispozícii pre pokročilých používateľov. Metódy repozitára vracajú surovú Illuminate\Http\Client\Response a varianty *Result — aggregateResult(), timeseriesResult(), breakdownResult() — typovaný objekt:
use RoundlyConsulting\Plausible\Enums\Interval;
use RoundlyConsulting\Plausible\Enums\Metric;
use RoundlyConsulting\Plausible\Enums\Period;
use RoundlyConsulting\Plausible\Enums\Property;
use RoundlyConsulting\Plausible\Requests\Stats\AggregateRequest;
use RoundlyConsulting\Plausible\Requests\Stats\BreakdownRequest;
use RoundlyConsulting\Plausible\Requests\Stats\TimeseriesRequest;
$response = Plausible::stats()->aggregate(AggregateRequest::make(
site: 'my-site.com',
metrics: ['visitors', 'pageviews', 'bounce_rate'],
compare: true,
)); // Illuminate\Http\Client\Response
$result = Plausible::stats()->aggregateResult(AggregateRequest::make(
site: 'my-site.com',
metrics: [Metric::Visitors],
)); // -> AggregateResult
$trend = Plausible::stats()->timeseriesResult(TimeseriesRequest::make(
site: 'my-site.com',
metrics: [Metric::Visitors],
interval: Interval::Week,
period: Period::SixMonths,
)); // -> TimeseriesResult
$pages = Plausible::stats()->breakdownResult(BreakdownRequest::make(
site: 'my-site.com',
property: Property::EventPage,
filters: ['visit:country==FR'],
perPage: 50,
)); // -> BreakdownResult
$live = Plausible::stats()->realtime('my-site.com'); // intParametre požiadaviek
Každá požiadavka má statické make() s pomenovanými argumentmi; metriky, obdobia, intervaly a vlastnosti prijímajú enumy aj reťazce:
| Požiadavka | Parametre make() a predvolené hodnoty |
|---|---|
AggregateRequest | site, metrics = ['visitors'], filters = [], period = '30d', start = null, end = null, compare = false |
TimeseriesRequest | site, metrics = ['visitors'], filters = [], interval = 'date', period = '30d', start = null, end = null |
BreakdownRequest | site, property, metrics = ['visitors'], filters = [], interval = 'date', period = '30d', start = null, end = null, page = 1, perPage = 100 |
QueryRequest | site, metrics, dateRange = '30d', dimensions = [], filters = [], orderBy = [], include = [], limit = null, offset = null |
Pri explicitných požiadavkách zadajte period: Period::Custom sami — obdobie za vás prepnú iba fluentné between() a since(). Vlastné obdobie len so start sa uzavrie dneškom (date=start,today); pri inom období je samotný start kotviacim dátumom (period: 'month', start: 2024-01-01 znamená január 2024). Filtre v1 sú reťazce v staršej syntaxi spojené bodkočiarkou.
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.