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
に飛ばす様にしておく。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
あとは特に設定の必要もなく、すぐにルーティングを書き始められます。
<?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
に飛ばす様にしておく。
あとは以下の様に読み込んで使えます。
<?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の使い方等の勉強も兼ねて作ろうとなり、自作しました。
同じ様な状況の方がいれば、よければお使いください。
最後までお読みいただきありがとうございました。