phpbotgram

Link
in package

FinalYes

Telegram and documentation link builders.

Port of upstream aiogram/utils/link.py.

Docs URL note: the upstream project points at https://docs.aiogram.dev/en/dev-3.x/. This PHP port has no published docs site yet, so the constant mirrors the upstream URL verbatim. Update BASE_PAGE_URL once a dedicated docs site is available.

API design note: PHP does not allow a non-variadic parameter to follow a variadic one, so we accept explicit array $path for path segments instead of string ...$path. Call sites pass the path as an array literal:

Link::createTelegramLink(['mybot'], ['start' => 'abc']) Link::createTelegramLink(['mybot', 'myapp']) Link::docsUrl(['handlers'], fragment: 'section')

Table of Contents

Constants

BASE_DOCS_URL  : mixed = 'https://docs.aiogram.dev/'
BASE_PAGE_URL  : mixed = self::BASE_DOCS_URL . 'en/' . self::BRANCH . '/'
BRANCH  : mixed = 'dev-3.x'

Methods

createTelegramLink()  : string
Build an `https://t.me/...` URL.
createTgLink()  : string
Build a `tg://` deep-link URL.
docsUrl()  : string
Build a documentation URL relative to the configured docs base.
__construct()  : mixed
formatUrl()  : string
Build a URL from a base, optional path segments, fragment, and query params.

Constants

BASE_DOCS_URL

private mixed BASE_DOCS_URL = 'https://docs.aiogram.dev/'

BASE_PAGE_URL

private mixed BASE_PAGE_URL = self::BASE_DOCS_URL . 'en/' . self::BRANCH . '/'

BRANCH

private mixed BRANCH = 'dev-3.x'

Methods

Build an `https://t.me/...` URL.

public static createTelegramLink([array<int, string> $path = [] ][, array<string, int|string> $query = [] ]) : string

Link::createTelegramLink(['mybot'], ['start' => 'abc']) Link::createTelegramLink(['mybot', 'myapp']) Link::createTelegramLink()

Parameters
$path : array<int, string> = []

URL path segments

$query : array<string, int|string> = []

optional query parameters

Return values
string

Build a `tg://` deep-link URL.

public static createTgLink(string $link[, array<string, int|string> $query = [] ]) : string
Parameters
$link : string
$query : array<string, int|string> = []

optional query parameters

Return values
string

docsUrl()

Build a documentation URL relative to the configured docs base.

public static docsUrl([array<int, string> $path = [] ][, null|string $fragment = null ][, array<string, int|string> $query = [] ]) : string

Link::docsUrl(['handlers'], fragment: 'section') Link::docsUrl(['search'], query: ['q' => 'router']) Link::docsUrl()

Parameters
$path : array<int, string> = []

URL path segments appended to the base docs URL

$fragment : null|string = null

optional URL fragment (after #)

$query : array<string, int|string> = []

optional query parameters

Return values
string

__construct()

private __construct() : mixed

formatUrl()

Build a URL from a base, optional path segments, fragment, and query params.

private static formatUrl(string $base[, array<int, string> $path = [] ][, string|null $fragment = null ][, array<string, int|string> $query = [] ]) : string
Parameters
$base : string
$path : array<int, string> = []
$fragment : string|null = null
$query : array<string, int|string> = []
Return values
string
On this page

Search results