1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

単体で動作するLaravelライクなルーティングライブラリ(ルーター)を自作しました

Posted at

LaralikeRouter

単体で動作するLaravelライクなルーティングライブラリを自作しました。

フレームワークを使う程では無い極小規模な開発で使用することを想定してます。
無料のレンタルサーバー等でpublicフォルダとコード置き場を分けれない様な環境でも、特に設定することなくすぐに使い始められます。

composerを使って導入できます。PHPのバージョンは7.1以上が必要です。

GitHub: kamiya-kei/LaralikeRouter
Packagist: laralike/laralike-router

導入方法

方法1:composerを利用する方法

composer require laralike/laralike-router

.htaccess等を利用し、全てのアクセスをindex.phpに飛ばす様にしておく。

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

あとは特に設定の必要もなく、すぐにルーティングを書き始められます。

index.php
<?php

require_once __DIR__ . '/vendor/autoload.php';

use \laralike\LaralikeRouter as Route;
Route::get('/', function () { return 'hello lala'; });

方法2:自分でファイルをDLして設置する方法

特に他のライブラリに依存してないので、以下2ファイルをDLして設置すれば使えます。

方法1と同じく、.htaccess等を利用し、全てのアクセスをindex.phpに飛ばす様にしておく。
あとは以下の様に読み込んで使えます。

index.php
<?php

require_once __DIR__.'/LaralikeRouter.php';
require_once __DIR__.'/LaralikeRoute.php';

use laralike\LaralikeRouter as Route;
Route::get('/', function () { return 'no composer!'; });

使い方

ほとんどLaravelのルーティングと同じ使い方です。
ただし名前付きルート・サブドメインルーティング・モデル結合ルート等一部機能は使えません。
サンプル: LaralikeRouter/tests/index.php
詳細な使い方:LaralikeRouter/README.md

最後に

FTPでpublicフォルダ内にしかアクセスできない・SSH接続不可・PHPのバージョンも7.1と微妙に古いといった環境でサイトを作っていて、ルーティングをどうしようか悩んだ結果、
composer用ライブラリの作り方・PHPUnitの使い方等の勉強も兼ねて作ろうとなり、自作しました。
同じ様な状況の方がいれば、よければお使いください。

最後までお読みいただきありがとうございました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?