Filtre Stats v2 skladajte fluentne cez where() a orWhere(). Každé volanie berie pole (Dimension, Property alebo reťazec), operátor (FilterOperator alebo reťazec) a hodnotu — skalár alebo zoznam:
use RoundlyConsulting\Plausible\Enums\Dimension;
use RoundlyConsulting\Plausible\Enums\FilterOperator;
use RoundlyConsulting\Plausible\Enums\Metric;
$result = Plausible::stats()
->for('my-site.com')
->metrics(Metric::Visitors)
->where(Dimension::VisitBrowser, FilterOperator::Is, 'Chrome')
->where('visit:os', 'is', ['Mac', 'Windows']) // implicit AND, list value
->orWhere(Dimension::VisitCountry, FilterOperator::Is, 'US') // OR with the previous
->run();Viac volaní where() sa spája implicitným AND. orWhere() zlúči predchádzajúci a nový filter do skupiny or a ďalšie volania orWhere() rozšíria tú istú skupinu; úvodné orWhere() sa správa ako where(). Obe sa skompilujú do poľového tvaru Plausible:
// ->where(Dimension::VisitBrowser, FilterOperator::Is, 'Chrome')
['is', 'visit:browser', ['Chrome']];
// ->where('visit:browser', 'is', 'Chrome')
// ->orWhere('visit:browser', 'is', 'Firefox')
// ->orWhere('visit:browser', 'is', 'Safari')
['or', [
['is', 'visit:browser', ['Chrome']],
['is', 'visit:browser', ['Firefox']],
['is', 'visit:browser', ['Safari']],
]];Vlastné vlastnosti udalostí
// Filter on a custom event property — Dimension::custom('plan') returns 'event:props:plan'
Plausible::stats()
->for('my-site.com')
->metrics(Metric::Visitors, Metric::Events)
->where(Dimension::custom('plan'), FilterOperator::Is, 'pro')
->run();Surové filtre
filter() prijme oba surové tvary. Reťazec používa staršiu syntax v1 a platí pre aggregate(), timeseries() a breakdown(); viac filtrov sa spojí bodkočiarkou. Pole používa tvar v2 a platí pre run():
// v1 terminals take the legacy string syntax; several filters are joined with ';'
Plausible::stats()
->for('my-site.com')
->filter('visit:browser==Chrome')
->filter('visit:country==FR')
->aggregate();
// run() takes the v2 array form — the same shape where() compiles to
Plausible::stats()
->for('my-site.com')
->filter(['is', 'visit:browser', ['Chrome']])
->run();where(), orWhere() a poľové filtre platia iba pre terminál run() — terminály v1 ich ignorujú, tam použite reťazcové filtre.
Operátory
| Prípad | Hodnota v API |
|---|---|
FilterOperator::Is | is |
FilterOperator::IsNot | is_not |
FilterOperator::Contains | contains |
FilterOperator::ContainsNot | contains_not |
FilterOperator::Matches | matches |
FilterOperator::MatchesNot | matches_not |
FilterOperator::And_ | and |
FilterOperator::Or_ | or |
FilterOperator::Not | not |
FilterOperator::HasDone | has_done |
FilterOperator::HasNotDone | has_not_done |
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.