Recommend this page to a friend! |
Classes of Josantonius | PHP Router | README.md | Download |
|
DownloadPHP Router libraryLibrary for handling routes.
RequirementsThis library is supported by PHP versions 5.6 or higher and is compatible with HHVM versions 3.0 or higher. InstallationThe preferred way to install this extension is through Composer. To install PHP Router library, simply:
The previous command will only install the necessary files, if you prefer to download the entire source code you can use:
You can also clone the complete repository with Git: $ git clone https://github.com/Josantonius/PHP-Router.git Or install it manually: Download Router.php and Url.php:
Available MethodsAvailable methods in this library: - Set method name for use singleton pattern:
| Attribute | Description | Type | Required | Default | --- | --- | --- | --- | --- | | $method | Singleton method name. | string | Yes | | # Return (boolean) - Add route/s:
| Attribute | Key | Description | Type | Required | Default | --- | --- | --- | --- | --- | --- | | $routes | | Route/s to add. | array | Yes | | | | 0 | Route. | string | Yes | | | | 1 | Method 'class@method'. | string | Yes | | # Return (boolean) - Get method to call from URI:
| Attribute | Description | Type | Required | Default | --- | --- | --- | --- | --- | | $route | Route. | string | Yes | | # Return (string|null) ? route or null - Defines callback if route is not found:
| Attribute | Description | Type | Required | Default | --- | --- | --- | --- | --- | | $callback | Callback. | callable | Yes | | # Return (boolean true) - Continue processing after match or stop it:Also can specify the number of total routes to process.
| Attribute | Description | Type | Required | Default | --- | --- | --- | --- | --- | | $value | Value. | boolean|int | Yes | true | # Return (boolean true) - Runs the callback for the given request:
# Return (call response|false) Quick StartTo use this library with Composer:
Or If you installed it manually, use it:
UsageExample of use for this library: - Add route:
- Add routes:
- Execute route simulating 'services':
- Add route with regular expressions (:all):
- Execute route simulating 'language/PHP/':
- Add route with regular expressions (:any) and params:
- Execute route simulating 'blog/games/Minecraft/':
- Add route with regular expressions (:num) and params:
- Execute route simulating 'blog/development/1/':
- Add route with regular expressions (:hex) and params:
- Execute route simulating 'blog/color/e0a060/':
- Add route with regular expressions (:uuidV4) and params:
- Execute route simulating 'blog/uuid/11bf5b37-e0b8-42e0-8dcf-dc8c4aefc000/':
- Set method name for use singleton pattern:
- Get method:
- Defines callback if route is not found:
- Execute wrong routes with custom error callback:
- Continue processing after match:
- Keep Lookin up to three coincidences:
- Stopping processing after match:
TestsTo run tests you just need composer and to execute the following:
Run unit tests with PHPUnit:
Run PSR2 code standard tests with PHPCS:
Run PHP Mess Detector tests to detect inconsistencies in code style:
Run all previous tests:
? TODO
ContributeIf you would like to help, please take a look at the list of issues or the To Do checklist. Pull requests
RepositoryThe file structure from this repository was created with PHP-Skeleton. LicenseThis project is licensed under MIT license. See the LICENSE file for more info. Copyright2016 - 2018 Josantonius, josantonius.com If you find it useful, let me know :wink: |