This reference reflects the current code in src/.
-
JOOservices\UserAgent\Service\UserAgentServicegenerate(?GenerationSpec $spec = null, ?int $seed = null): stringgenerateWithMetadata(?GenerationSpec $spec = null, ?int $seed = null, ?string $profileName = null): GenerationResultseed(int $seed): void— set RNG seed for deterministic generation
-
JOOservices\UserAgent\UserAgent(static facade)generate(): stringgenerateWithMetadata(): GenerationResultgenerateMany(int $count, bool $unique = true): array<string>batch(int $count, array $options = []): BatchResult— options:unique,withMetadata,summary,specbuilder(): UserAgentBuilder— start a chain with no initial constraintunique(): UserAgentBuilderexclude(): UserAgentBuilderresetUnique(): voidprofile(): ProfileBuildersupportedCombinations(): SupportedCombinationsseed(int $seed): void- scenario presets:
scenarioPresetModernDesktop(),scenarioPresetMobileFirstApac(),scenarioPresetCrawlerSafeRotation(),scenarioPresetQaBrowserMatrix(): list<GenerationSpec> - bot:
googlebot(bool $mobile = false),bingbot(bool $mobile = false),bot(BotType $type, bool $mobile = false) - chainable via
__callStatic: browser/device/OS,asBot(BotType),botAsMobile(),versionMin(),versionMax(),versionExact(),locale(),arch(),recent(int $months)
-
JOOservices\UserAgent\Facade\UserAgentBuilder- browser:
chrome(),firefox(),safari(),edge() - device:
desktop(),mobile(),tablet() - os:
windows(),macos(),linux(),android(),ios() - modes:
unique(),exclude(),recent(int $months = 6) - optional spec:
versionMin(int),versionMax(int),versionExact(int),locale(string),arch(string) - bot:
asBot(BotType),botAsMobile(),googlebot(),bingbot(),bot(BotType) - output:
generate(),generateWithMetadata(),generateMany(int $count),generateManyWithMetadata(int $count),toSpec(): GenerationSpec
- browser:
-
JOOservices\UserAgent\Facade\ProfileBuilder- profile accessors:
desktopChrome(),mobileSafari(),androidChrome()— return profile objects (e.g.DesktopChromeProfilewithwindows(), etc.) - quick methods (return string):
randomMobile(?int $seed),randomDesktop(?int $seed),firefox(?int $seed),edge(?int $seed)
- profile accessors:
-
JOOservices\UserAgent\Service\Profiles\Profiles- profile objects and shortcut methods; use with
UserAgentServiceinstance.
- profile objects and shortcut methods; use with
-
JOOservices\UserAgent\Domain\Result\BatchResultgetResults(): array— list of UA strings orarray{ua, metadata}whenwithMetadatawas truegetSummary(): ?array—['byBrowser' => [...], 'byOs' => [...]]whensummarywas true
-
JOOservices\UserAgent\Domain\Result\GenerationResultgetUaString(): stringgetMetadata(): MetatoArray(): array
-
JOOservices\UserAgent\Service\SupportedCombinationsgetValidCombinations(): list<ValidCombination>isValid(BrowserFamily, DeviceType, OperatingSystem): bool
-
JOOservices\UserAgent\Service\BotUserAgentServicegenerate(BotType $type, bool $mobile = false): string
- script:
bin/useragent(or./vendor/bin/useragent) - runtime:
JOOservices\UserAgent\Console\ConsoleApp - supporting classes:
CliArgParser,CliSpecFactory,CliOutputFormatter