cetver / yii2-routes-collector
Routes collector for the Yii framework 2.0
Installs: 51
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 3
Forks: 0
Open Issues: 1
Type:yii2-extension
Requires
- php: >=5.6.0
- yiisoft/yii2: ~2.0.0
Requires (Dev)
- codeception/base: ^2.2.3
- codeception/specify: ~0.4.3
- codeception/verify: ~0.3.1
- guzzlehttp/guzzle: ^6.0
- satooshi/php-coveralls: ^1.0
- yiisoft/yii2-bootstrap: ~2.0.0
This package is auto-updated.
Last update: 2025-02-16 04:44:17 UTC
README
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
- http://basic.cetver-yii2-routes-collector/examples/default/tree
- http://backend.cetver-yii2-routes-collector/examples/default/tree
If you follow the instructions correctly, you should see the pages as in the screenshots below
- Basic app
- Advanced apps