---
title: "Совет по Joomla: использовать класс Joomla\\Uri\\Uri для создания URL - Joomlaportal"
description: "Как собирать url в php коде Joomla с помощью класса Joomla\\Uri\\Uri. Веб-разработка, примеры кода. parse_url"
url: "https://joomlaportal.ru/blogs/development/sovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url"
date: "2026-11-06T03:33:10+03:00"
language: "ru-RU"
---

## Breadcrumbs

[Главная](https://joomlaportal.ru/) > [Блоги](https://joomlaportal.ru/blogs) > [Разработка](https://joomlaportal.ru/blogs/development) > Совет по Joomla: использовать класс JoomlaUriUri для создания URL

[Разработка](https://joomlaportal.ru/blogs/development)

# Совет по Joomla: использовать класс Joomla\Uri\Uri для создания URL

[Сергей Толкачёв](https://joomlaportal.ru/users/sergey-tolkachyov) 17 февраля 2025 2 мин 2295 просмотров

Поделиться: [ВКонтакте](https://vk.com/share.php?url=https%3A%2F%2Fjoomlaportal.ru%2Fblogs%2Fdevelopment%2Fsovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url&title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%82+%D0%BF%D0%BE+Joomla%3A+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+%D0%BA%D0%BB%D0%B0%D1%81%D1%81+Joomla%5CUri%5CUri+%D0%B4%D0%BB%D1%8F+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F+URL) [Одноклассники](https://connect.ok.ru/offer?url=https%3A%2F%2Fjoomlaportal.ru%2Fblogs%2Fdevelopment%2Fsovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url&title=%D0%A1%D0%BE%D0%B2%D0%B5%D1%82+%D0%BF%D0%BE+Joomla%3A+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+%D0%BA%D0%BB%D0%B0%D1%81%D1%81+Joomla%5CUri%5CUri+%D0%B4%D0%BB%D1%8F+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F+URL) [Telegram](https://t.me/share/url?url=https%3A%2F%2Fjoomlaportal.ru%2Fblogs%2Fdevelopment%2Fsovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url&text=%D0%A1%D0%BE%D0%B2%D0%B5%D1%82+%D0%BF%D0%BE+Joomla%3A+%D0%B8%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D1%82%D1%8C+%D0%BA%D0%BB%D0%B0%D1%81%D1%81+Joomla%5CUri%5CUri+%D0%B4%D0%BB%D1%8F+%D1%81%D0%BE%D0%B7%D0%B4%D0%B0%D0%BD%D0%B8%D1%8F+URL)

![Совет по Joomla: использовать класс Joomla\Uri\Uri для создания URL](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/sovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url/header.webp)

При построении url в коде можно собрать всё строками с конкатенацией вида

```
<?php
$url = $domain.'/index.php?option='.$option.'&view='.$view.'&param1='.$value1;
```

и для небольших строк это может быть даже и удобно. Но если параметров много или они требуют стандартизации / чистки в процессе, то уже не все так удобно и очевидно. Например, в части url может быть ведущий слеш (слеш в начале фрагмента url) и пришедший домен для запроса тоже может оканчиваться на слеш - и вот мы получаем некорректный url для запроса с двойным слешем где-нибудь в середине...

Для задач стандартизации и единообразия получения url в Joomla есть класс`Joomla\Uri\Uri`. Раньше, с Joomla 1.6 и старше он назывался`JUri`. Этот класс обеспечивает работу с url по стандарту**RFC3986**и берет на себя работу по разбору url на запчасти или по сборке url из запчастей ))

## Пример: получить конкретный параметр из url в Joomla

```
<?php
use Joomla\Uri\Uri;

$url = 'https://web-tolk.ru/dev/biblioteki?param=value';
$uri = new Uri($url);
// здесь выведет строку 'value'
echo $uri->getVar('param');
```

Да, есть же нативная PHP функция`parse_url`, скажете вы... Но класс**Uri**обеспечивает безопасную работу с UTF-8 в url, в том числе с кириллическими доменами. Дабы не писать различные проверки самостоятельно - можно воспользоваться возможностями ядра Joomla.

## Как собрать нужный url PHP кодом в Joomla

Тут тоже все просто:

```
<?php
use Joomla\Uri\Uri;

$uri = new Uri;
$uri->setHost('web-tolk.ru');
$uri->setScheme('https');
// setPath() начинаем со слеша
$uri->setPath('/dev/biblioteki');
// GET-параметры можно передать массивом
$vars = [
        'param1' => 'value1',
        'param2' => 'value2',
        'param3' => 'value3',
];
$uri->setQuery($vars);
// выводим в строку наш url
echo $uri->toString();
```

Иерархия классов`Uri`в Joomla сделана так, что методы-геттеры находятся в классе`AbstractUri`, а сеттеры - в классе`Uri`. Сеттеры можно посмотреть в файле**libraries/vendor/joomla/uri/src/Uri.php**. Геттеры смотрим в файле**libraries/vendor/joomla/uri/src/AbstractUri.php**.

Если у вас есть PHP Storm, то он прекрасно знает Joomla и подсказывает всё, что нужно.

Ну и можно дать ссылку на[страницу старой документации](https://docs.joomla.org/API16:JURI), которая до сих пор в большей своей части актуальна с поправкой на использование неймспейсов.

А это структура Url для общего понимания:

```
foo://example.com:8042/over/there?name=ferret#nose
     \_/   \______________/\_________/ \_________/ \__/
      |           |            |            |        |
   scheme     authority       path        query   fragment
```

[Эта статья на сайте автора](https://web-tolk.ru/blog/sovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url).

[Эта статья на dev.to](https://dev.to/sergeytolkachyov/joomla-tip-use-the-joomlauriuri-class-to-create-a-url-7ib).

### Похожие статьи

[!\[Совет по Joomla: Как сделать ссылки на списки сущностей Joomla с фильтрацией?\](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej/header.webp)](https://joomlaportal.ru/blogs/development/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej)

31 августа 2026

##### [Совет по Joomla: Как сделать ссылки на списки сущностей Joomla с фильтрацией?](https://joomlaportal.ru/blogs/development/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej)

В Joomla в любом списке сущностей есть параметры поиска, которыми мы привыкли пользоваться...

[Читать далее](https://joomlaportal.ru/blogs/development/joomla-ssylki-na-spiski-sushchnostej-s-filtratsiej)

[!\[Переопределение макета НЕ в шаблоне Joomla\](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/pereopredelenie-maketa-ne-v-shablone-joomla/header.webp)](https://joomlaportal.ru/blogs/development/pereopredelenie-maketa-ne-v-shablone-joomla)

31 августа 2026

##### [Переопределение макета НЕ в шаблоне Joomla](https://joomlaportal.ru/blogs/development/pereopredelenie-maketa-ne-v-shablone-joomla)

Мы все знаем, что при работе с сайтом создание своих переопределений стандартных макетов — это...

[Читать далее](https://joomlaportal.ru/blogs/development/pereopredelenie-maketa-ne-v-shablone-joomla)

[!\[Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla.\](https://joomlaportal.ru/blogs/development/images/blogs/razrabotka/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla/header-1080.webp)](https://joomlaportal.ru/blogs/development/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla)

01 июля 2026

##### [Общая информация о принципе действия Joomla 6. Жизненный цикл Приложений Joomla.](https://joomlaportal.ru/blogs/development/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla)

Как работает ядро Joomla 6 на уровне Приложения (Application)? Сколько видов Приложений на самом...

[Читать далее](https://joomlaportal.ru/blogs/development/obshchaya-informatsiya-o-printsipe-dejstviya-joomla-6-zhiznennyj-tsikl-prilozhenij-joomla)

[Назад](https://joomlaportal.ru/blogs/development) [На главную](https://joomlaportal.ru/)

## JSON-LD Schema

```json
{
    "@context": "https://schema.org",
    "@type": "BreadcrumbList",
    "itemListElement": [
        {
            "@type": "ListItem",
            "position": 1,
            "name": "Главная",
            "item": "https://joomlaportal.ru/"
        },
        {
            "@type": "ListItem",
            "position": 2,
            "name": "Блоги",
            "item": "https://joomlaportal.ru/blogs"
        },
        {
            "@type": "ListItem",
            "position": 3,
            "name": "Разработка",
            "item": "https://joomlaportal.ru/blogs/development"
        },
        {
            "@type": "ListItem",
            "position": 4,
            "name": "Совет по Joomla: использовать класс JoomlaUriUri для создания URL",
            "item": "https://joomlaportal.ru/blogs/development/sovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url"
        }
    ]
}
```

```json
{
    "@context": "https://schema.org",
    "@type": "BlogPosting",
    "headline": "Совет по Joomla: использовать класс Joomla\\Uri\\Uri для создания URL",
    "url": "https://joomlaportal.ru/blogs/development/sovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url",
    "datePublished": "2025-02-17T07:21:18+03:00",
    "dateModified": "2025-02-17T07:40:42+03:00",
    "author": {
        "@type": "Person",
        "name": "Сергей Толкачёв"
    },
    "publisher": {
        "@type": "Organization",
        "name": "Joomlaportal.ru",
        "logo": {
            "@type": "ImageObject",
            "url": "https://joomlaportal.ru/images/schema-org-portal-logo.jpg"
        }
    },
    "articleSection": "Разработка",
    "description": "Как собирать url в php коде Joomla с помощью класса Joomla\\Uri\\Uri. Веб-разработка, примеры кода. parse_url",
    "image": {
        "@type": "ImageObject",
        "url": "https://joomlaportal.ru/images/blogs/razrabotka/sovet-po-joomla-ispolzovat-klass-joomla-uri-uri-dlya-sozdaniya-url/header.webp"
    }
}
```
