yii2-routes-collector - предоставляет инструменты для сбора, хранения и управления маршрутами (routes) веб-приложений.

Выкладываем свои наработки
Ответить
cetver
Сообщения: 8
Зарегистрирован: 2017.05.23, 22:52

yii2-routes-collector - предоставляет инструменты для сбора, хранения и управления маршрутами (routes) веб-приложений.

Сообщение cetver » 2017.07.10, 12:01

Установка

Предпочтительным способом установки этого расширения является composer

Либо выполните

Код: Выделить всё

composer require --prefer-dist cetver/yii2-routes-collector
или добавьте

Код: Выделить всё

"cetver/yii2-routes-collector": "^1.0"
в раздел require вашего файла composer.json.

Настройка

Выполните команду миграции

Код: Выделить всё

./yii migrate --migrationPath=@cetver/RoutesCollector/migrations
Обновите конфигурационный файл консольного приложения

Код: Выделить всё

'controllerMap' => [
    'routes' => 'cetver\RoutesCollector\commands\RoutesController',
],
Использование

Создайте конфигурационный файл веб-приложений в следующем формате

Код: Выделить всё

<?php

return [
    [], // конфигурация 1-ого веб-приложения
    [], // конфигурация 2-ого веб-приложения
];
Выполните команду

Код: Выделить всё

./yii routes/collect <path-to-config-file>
Если вам нужно отобразить маршруты пользователям, выполните команду

Код: Выделить всё

./yii routes/extract-messages '{"messagePath":"@app/messages","languages":["en-US","ru-RU"]}' routes
Аргументы команды
  • 1-ый аргумент - это параметры (options) команды "message/extract" в формате JSON
Тесты

Выполните команду

Код: Выделить всё

composer create-project --prefer-source cetver/yii2-routes-collector
Создайте виртуальные хосты (пример для nginx)
  • basic.cetver-yii2-routes-collector указывает на "tests/_data/apps/basic/web"
  • frontend.cetver-yii2-routes-collector указывает на "tests/_data/apps/advanced/backend/web"
  • backend.cetver-yii2-routes-collector указывает на "tests/_data/apps/advanced/frontend/web"
Измените настройки БД тут или выполните команду

Код: Выделить всё

export DB=sqlite
Выполните команды

Код: Выделить всё

cd yii2-routes-collector
vendor/bin/codecept run unit,functional
Примеры

После исполнения тестов, откройте ссылки
http://basic.cetver-yii2-routes-collect ... fault/tree
http://backend.cetver-yii2-routes-colle ... fault/tree

Если вы верно следовали инструкциям, то должны увидеть страницы, как показано на снимках экрана ниже
Github

https://github.com/cetver/yii2-routes-collector
Последний раз редактировалось cetver 2017.07.14, 19:03, всего редактировалось 2 раза.

Loveorigami
Сообщения: 698
Зарегистрирован: 2014.08.27, 21:54

Re: yii2-routes-collector - предоставляет инструменты для сбора, хранения и управления маршрутами (routes) веб-приложени

Сообщение Loveorigami » 2017.07.10, 14:21

Эм... а в каком случае и как это применять?
Для SEO, судя по картинке?

cetver
Сообщения: 8
Зарегистрирован: 2017.05.23, 22:52

Re: yii2-routes-collector - предоставляет инструменты для сбора, хранения и управления маршрутами (routes) веб-приложени

Сообщение cetver » 2017.07.10, 21:34

SEO, RBAC, отчет о всех страницах на сайте, проверка страниц на доступность, т.е. везде где нужно добавить новые атрибуты конкретным страницам или получить их полный список.

Loveorigami
Сообщения: 698
Зарегистрирован: 2014.08.27, 21:54

Re: yii2-routes-collector - предоставляет инструменты для сбора, хранения и управления маршрутами (routes) веб-приложени

Сообщение Loveorigami » 2017.07.11, 10:53

Интересно. Хочу для себя прояснить такой момент, т.к. делал похожий модуль.

У меня есть url правило вида 'object/<slug>/<tab>' => 'base/object/view'
Генерирует оно порядка 2000 (количество объектов) * 5 (количество вкладок) = 10 000 url адресов
По этим url я строю sitemap. Кеширую.

Всем 10 000 url я не могу физически проставить Seo параметры. Поэтому, для тех url, где нет meta, в настройках роута прописываю шаблон вида - Санаторий {name} / Отдых в {town}

Также - со временем, объект может перестать работать, или же сменить название (нужен редирект).
По таким событиям я сбрасываю кеш и перестраиваю sitemap.

У вас судя по скрину,
https://github.com/cetver/yii2-routes-c ... l-life.png
Не совсем удобно будет найти нужный url, если таковых будет 10 000.

И как у Вас обстоят дела с редиректnами, проверкой невалидных url (например, по крону для перестраивания всего sitemap-a)?

cetver
Сообщения: 8
Зарегистрирован: 2017.05.23, 22:52

Re: yii2-routes-collector - предоставляет инструменты для сбора, хранения и управления маршрутами (routes) веб-приложени

Сообщение cetver » 2017.07.11, 21:19

URL - это не route.
Например, если прописано правило

Код: Выделить всё

site/page/<id:\d+> => site/page
То у вас N-страниц вида http://site.com/site/page/:id, но 1 маршрут (site/page)

Ответить