yiisoft / file-router
Convention-based file structure router
Fund package maintenance!
Opencollective
yiisoft
Installs: 22
Dependents: 0
Suggesters: 0
Security: 0
Stars: 7
Watchers: 13
Forks: 0
Open Issues: 1
pkg:composer/yiisoft/file-router
Requires
- php: ^8.1
- ext-mbstring: *
- psr/http-message: ^1.0|^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- yiisoft/middleware-dispatcher: ^5.2
Requires (Dev)
- httpsoft/http-message: ^1.1
- httpsoft/http-response: ^1.1
- maglnet/composer-require-checker: ^4.7
- phpunit/phpunit: ^10.5
- rector/rector: ^2.0.3
- roave/infection-static-analysis-plugin: ^1.34
- spatie/phpunit-watcher: ^1.23
- vimeo/psalm: ^5.16
- yiisoft/test-support: ^3.0
This package is auto-updated.
Last update: 2025-10-18 12:21:01 UTC
README
Yii File Router
The package provides a convention-based router middleware that chooses controller based on its namespace and class name.
Requirements
- PHP 8.1 or higher.
Installation
The package could be installed with Composer:
composer require yiisoft/file-router
General usage
-
Add
\Yiisoft\FileRouter\FileRouterto the list of middlewares in your application configuration,web/params.php:return [ 'middlewares' => [ // ... Router::class, \Yiisoft\FileRouter\FileRouter::class, // or [ 'class' => FileRouter::class, 'withNamespace()' => ['App'], 'withBaseControllerDirectory()' => ['Controller'], ], // ... ] ];
-
Configure the file router for your needs.
Note:
FileRoutergoes after regularRouterto serve as a fallback in case explicitly defined route is not found.
By default, the following structure of the app could be used assuming App points to src directory:
src
Controller
User
Profile
IndexController.php
BlogController.php
UserController.php
IndexController.php
Here's how it works:
GET /→IndexController::index()GET /user→UserController::index()POST /user→UserController::create()GET /user/blog/view→User/BlogController::view()GET /user/profile→User/Profile/IndexController::index()
Documentation
For additional information, check the following docs:
- Guide: English, Português - Brasil
- Internals
If you need help or have a question, the Yii Forum is a good place for that. You may also check out other Yii Community Resources.
License
The Yii File Router is free software. It is released under the terms of the BSD License.
Please see LICENSE for more information.
Maintained by Yii Software.