Download the PHP package makise-co/http-router without Composer

On this page you can find all versions of the php package makise-co/http-router. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package http-router

PSR HTTP Router

A PSR HTTP Router based on FastRoute with Middleware support

Requirements

Installation

composer require makise-co/http-router

Features

FAQ

Performance

For three million calls (using php-di/invoker):

For three million calls (using native function call implementation without DI):

Benchmark code can be found here.

Usage

Lazy resolving

When you write your route handlers using Controllers approach you may want to inject some dependencies into your Controller constructor. By default, all dependencies will be automatically injected into your controller after you register the route.

This behavior can cause various bugs or even errors in your application. Let's imagine your controller class looks like:

And you are registering a route for the index method of PostController:

After that an instance of your PostController class will be immediately created, and an instance of ORM will be injected into it. ORM can initiate database connections and query for database schema information.

In multi-process app architecture (when your app has a master process and many worker processes) this may lead to unnecessary resource consumption (draining of database connections, memory consumption, slower application boot time).
And it can even lead to an error in the application, especially with Swoole backends, because all non-blocking I/O operations MUST be performed in the Coroutine context.

This package offers a simple solution to avoid all kind of these problems: Lazy route handlers resolution. Just use RouteCollectorLazyFactory instead of RouteCollectorFactory.

Instead of immediately resolving the route handlers, this process is postponed until the routes compilation stage.
The compilation stage of the routes occur when you call the "getRouter" method on the "RouteCollector" instance.
This means that the route handlers are resolved at the time the "getRouter" method is called.

Error handling

More complete examples can be found here.


All versions of http-router with dependencies

PHP Build Version
Package Version
Requires php Version >=7.4
psr/http-server-middleware Version ^1.0
psr/container Version ^1.0
nikic/fast-route Version ^1.3
php-di/invoker Version ^2.1
makise-co/middleware Version ^1.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package makise-co/http-router contains the following files

Loading the files please wait ....