cetver/yii2-routes-collector

Routes collector for the Yii framework 2.0

1.0.2 2020-02-01 21:37 UTC

This package is auto-updated.

Last update: 2024-04-16 03:00:53 UTC


README

Build Status Coverage Status

Provides tools for collecting, saving and manipulating routes of web applications.

Installation

The preferred way to install this extension is through composer.

Either run

composer require --prefer-dist cetver/yii2-routes-collector

or add

"cetver/yii2-routes-collector": "^1.0"

to the require section of your composer.json file.

Configuring

Run the migration command

./yii migrate --migrationPath=@cetver/RoutesCollector/migrations

Update the console application configuration file

'controllerMap' => [
    'routes' => 'cetver\RoutesCollector\commands\RoutesController',
],

Usage

Create web-applications configuration file in the following format:

<?php

return [
    [], // the configuration of the first web-app
    [], // the configuration of the second web-app
];

Run the collect command

./yii routes/collect <path-to-config-file>

If you need to display routes to the user, run the "routes/extract-message" command

./yii routes/extract-messages '{"messagePath":"@app/messages","languages":["en-US","ru-RU"]}' routes

The "routes/extract-message" command arguments:

  • The first argument is the "message/extract" command options in JSON format
  • The second argument is the first argument of the translator function

Now you can set aliases/translations by editing the files:

  • @app/messages/en-US/routes.php
  • @app/messages/ru-RU/routes.php

Tests

Run the following command

composer create-project --prefer-source cetver/yii2-routes-collector

Create virtual hosts (nginx example):

  • basic.cetver-yii2-routes-collector points to "tests/_data/apps/basic/web"
  • frontend.cetver-yii2-routes-collector points to "tests/_data/apps/advanced/backend/web"
  • backend.cetver-yii2-routes-collector points to "tests/_data/apps/advanced/frontend/web"

Change DB configuration here or run the following command

export DB=sqlite

Run the following commands

cd yii2-routes-collector
vendor/bin/codecept run unit,functional

Examples

After running the tests, open the links

If you follow the instructions correctly, you should see the pages as in the screenshots below