Download the PHP package haikara/flat-route without Composer

On this page you can find all versions of the php package haikara/flat-route. 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 flat-route

FlatRoute

セットアップ

ContainerInterfaceの実装が必要なので、任意のライブラリを用意する。
下記の例ではknp/dineryを使用する。

ルーティング設定

基本的なルーティング

PSR-7の実装が必要。下記の例ではlaminas/laminas-diactorosを利用する。

Router::get/Router::postの第一引数にパスを指定し、第二引数に実行したい処理を渡す。
パスのことをルーティングパターン、実行したい処理のことをルーティングコールバックという。

ルーティングコールバックとDIコンテナ

ルーティングコールバックにはクラスの完全修飾名を渡すこともできる。
クラス名はcallable値ではないが、Containerによって自動的にインスタンス化される。

インスタンス化してオブジェクトをコールバックとして渡すこともできるが、
そうするとすべてのActionクラスが事前にインスタンス化されてしまうので効率が悪い。
完全修飾名を渡す方式であれば、該当のルートのActionのみがインスタンス化される。

パラメータのフィルタリングとバリデーション

ruleメソッドを用いて、ルーティングパラメータの値をフィルタリングし、
特定の値のみ受け付けるよう制限を加えることが可能。やりすぎ注意。

ミドルウェア

ルーティングと各ルートにはMiddlewareを追加することができる。
Middlewareのオブジェクトか完全修飾名を渡すこと。

オプショナルパターン

ノードが増減するルーティングパターンに同じActionを設定する場合、
下記のようにすべてのパターンを別個に設定することもできるが、
特にバリデーションやMiddlewareの設定を伴う場合に、記述が冗長になりやすい。

あってもなくてもいい部分を[]で囲むと一括で設定することができる。

ルートネームとパスの生成

ルートに名前を付けることで、そのルートのパスを別のActionで簡単に組み立てられるようになる。

ルートグループ

ルートをグループ化し、Middlewareを一括で登録することができる。

上記の例では/admin/products/admin/customersに一括でAuthMiddlewareが適用される。
/admin/login/admin配下のルートだが、グループには含まれていないのでAuthMiddlewareの適用外となる。

グループはネスト可能。

リクエストメソッドによってActionを分ける

同じルートパターンで異なるリクエストメソッドに別々のActionをセットできる。
通常のフォームではGETとPOSTしかないが、REST APIの設計で活用できる。


All versions of flat-route with dependencies

PHP Build Version
Package Version
Requires php Version >=8.0 <8.4.0
psr/http-message Version ^1.1 || ^2.0
psr/container Version ^2.0
psr/http-server-handler Version ^1.0
psr/http-server-middleware Version ^1.0
haikara/verifier Version ^0.1
haikara/middleware-stack Version ^0.1
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 haikara/flat-route contains the following files

Loading the files please wait ....