PHPackages                             sekidenkiku/file-router - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. sekidenkiku/file-router

ActiveLibrary

sekidenkiku/file-router
=======================

Simple PHP router class.

1.0.2(7y ago)010MITPHP

Since May 11Pushed 7y agoCompare

[ Source](https://github.com/sekidenkiku/FileRouter)[ Packagist](https://packagist.org/packages/sekidenkiku/file-router)[ Docs](https://github.com/sekidenkiku/FileRouter)[ RSS](/packages/sekidenkiku-file-router/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (1)Versions (2)Used By (0)

FileRouter
==========

[](#filerouter)

シンプルなURL振り分け機能を提供します。ファイル名の振り分けだけです。GET、POSTやURLクエリでの振り分けはできません。

特徴
--

[](#特徴)

・ページのURLを自由に指定できます。
・index.phpに共通処理をまとめることができます。
・小規模サイト用です。データベースを利用するようなサイトには向いていません。

使用方法
----

[](#使用方法)

**1.サイトのルートディレクトリに.htaccessファイルを設置して下さい。**

```

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]

```

**2.クラスファイルを読み込んで実行してください。**

```
require_once('sekidenkiku/FileRouter.php');

$file_router = new FileRouter();
$file_router->setFilePath('template')
$file_router->addRoute('/', 'index.php');
$file_router->addRoute('/services', 'services.php');
$file_router->addRoute('/company', 'company.php');
$file_router->addRoute('/contact', 'contact.php');
$file_router->run();
```

composerからインストールした場合、require\_once('sekidenkiku/FileRouter.php')は不要です。代わりにautoload.phpを読み込んでください。

```
require_once('vendor/autoload.php');

$file_router = new FileRouter();
```

インストール方法
--------

[](#インストール方法)

・ファイルを直接、読み込む場合は、ファイルをダウンロードしてrequire\_onceで読み込んでください。

```
require_once('sekidenkiku/FileRouter.php');
```

・composerからインストールする場合。

```
$ composer require sekidenkiku/file-router
```

ライセンス
-----

[](#ライセンス)

MIT License

関数リファレンス
--------

[](#関数リファレンス)

### FileRouterクラス

[](#filerouterクラス)

### setSiteDir($dir)

[](#setsitedirdir)

サイトのディレクトリを設定します。ルート情報のURLパスのベースディレクトリです。
デフォルト値は'/'です。 先頭と最後のスラッシュは省略できます。空文字は指定できません。
@param string $dir ディレクトリ名
@return void

> サイトディレクトリに'/sub'を設定した場合、addRoute('/example', 'index.php')は、URLパス'/sub/example'にマッチします。

### getSiteDir()

[](#getsitedir)

サイトのディレクトリを返します。
@param void @return string サイトのディレクトリ名。

### setFilesDir($dir)

[](#setfilesdirdir)

実行ファイルのディレクトリを設定します。ルート情報の実行ファイルの設置ディレクトリです。
デフォルト値は'files'です。
先頭と最後のスラッシュは省略できます。空文字は指定できません。
@param string $dir 実行ファイルのディレクトリ。
@return void

> デフォルトでは、ルートディレクトリに作成したfilesディレクトリが実行ファイルディレクトリとなります。
> 実行ファイルは、実行ファイルディレクトリ内に設置して下さい。
>
> ルートディレクトリ
> ├ .htaccess
> ├ index.php
> ├ filesディレクトリ
> │ ├ 実行ファイル
> ・ ・
> ・ ・

### getFilesDir()

[](#getfilesdir)

実行ファイルのディレクトリを返します。
@param void
@return string 実行ファイルのディレクトリ。

### addRoute($url, $file)

[](#addrouteurl-file)

ルート情報を追加します。
@param string $url ページURL。先頭の/は省略できます。空文字は指定できません。
@param string $file 実行ファイル名。実行ファイルディレクトリ内の相対パスになります。先頭の/は省略できます。空文字は指定できません。
@return void

### getRoutes()

[](#getroutes)

全ルート情報を返します。
@param void
@return array ルート情報。

### run($exit = true)

[](#runexit--true)

ルート情報にマッチする実行ファイルをインクロードします。マッチしない場合は、notFoundPage404関数を実行します。
@param bool $exit trueの場合、ファイル読み込み後に処理を終了します。falseの場合、終了しません。
@return void

### getRoute($url)

[](#getrouteurl)

URLパスに一致するルート先ファイル名を返します。
@param string $url URLパス。
@return string ルート先ファイル名。存在しない場合、空の文字列を返します。

### addVar($name, $value)

[](#addvarname-value)

実行ファイル内のスコープで利用できる値(実行ファイル参照値)を追加します。
@param string $name キー名。
@param mixed $value 値。
@return void

### getVar($name)

[](#getvarname)

実行ファイル参照値を取得します。
@param string $name キー名。
@return mixed|null 値。キー名が見つからない場合nullを返します。

**\[static関数\]**

### FileRouter::getUrlPath()

[](#fileroutergeturlpath)

現在のURLから、ホスト名やクエリストリングなどを除いたパスの部分を返します。
@param void
@return string URLのパス名。

### FileRouter::notFoundPage404($exit = true)

[](#filerouternotfoundpage404exit--true)

404 Not Foundページを出力します。
@param bool $exit trueの場合、ページを表示後に処理を終了します。falseの場合、終了しません。
@return void

実行ファイル内の変数スコープについて
------------------

[](#実行ファイル内の変数スコープについて)

スコープが違うため、index.php上で定義した変数は、実行ファイル内から参照できません。
参照したい場合は、getVar関数に変数を渡してください。実行ファイル内の$FileRoute-&gt;getVar関数で取得できます。

実行ファイル内変数
---------

[](#実行ファイル内変数)

### $FileRouter

[](#filerouter-1)

説明：FileRouterクラスの子クラスのインスタントです。FileRouterクラスのプロパティを引き継ぎます。

実行ファイル内関数
---------

[](#実行ファイル内関数)

実行ファイル内で利用可能な関数です。変数$FileRouterのメソッドとして利用できます。

### $FileRoute-&gt;getSiteDir()

[](#fileroute-getsitedir)

設定したサイトのディレクトリを返します。 @param void
@return string ディレクトリ名

### $FileRoute-&gt;getFilesDir()

[](#fileroute-getfilesdir)

実行ファイルのディレクトリを返します。
@param void
@return string 実行ファイルのディレクトリ。

### $FileRoute-&gt;getRoutes()

[](#fileroute-getroutes)

全ルーティング情報を返します。
@param void
@return array ルーティング情報。

### $FileRoute-&gt;getRoute($url)

[](#fileroute-getrouteurl)

URLパスに一致するルート先ファイル名を返します。
@param string $url URL。
@return string ルート先ファイル名。存在しない場合、空の文字列を返します。

### $FileRoute-&gt;getVar($name)

[](#fileroute-getvarname)

実行ファイル参照値を取得します。
@param string $name キー名。
@return mixed|null 値。存在しない名前を指定した場合nullを返します。

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity5

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2559d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/556680fc7f03f1e776c879968d7f249f21908c302d758dadc5f1d7b924738bee?d=identicon)[sekidenkiku](/maintainers/sekidenkiku)

---

Tags

router

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/sekidenkiku-file-router/health.svg)

```
[![Health](https://phpackages.com/badges/sekidenkiku-file-router/health.svg)](https://phpackages.com/packages/sekidenkiku-file-router)
```

###  Alternatives

[symfony/routing

Maps an HTTP request to a set of configuration variables

7.6k789.4M1.8k](/packages/symfony-routing)[slim/slim

Slim is a PHP micro framework that helps you quickly write simple yet powerful web applications and APIs

12.2k49.9M1.3k](/packages/slim-slim)[nikic/fast-route

Fast request router for PHP

5.3k92.4M668](/packages/nikic-fast-route)[league/route

Fast routing and dispatch component including PSR-15 middleware, built on top of FastRoute.

6633.1M115](/packages/league-route)[contributte/api-router

RESTful Router for your Apis in Nette Framework - created either directly or via attributes

20802.8k3](/packages/contributte-api-router)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
