現在、PHPの軽量フレームワークで「Slim3」というものを試してみています。
こちらのフレームワークは必要最低限の機能しかないため軽量で、学習コストも低くて済みます。
当然、基本機能以外は開発者が実装しなければいけませんが、その分カスタマイズ性が高いという利点もあります。
ちなみに、この「Slim3」を選んだ理由は、「PHP フレームワーク 軽量」と調べたときに、候補の一番最初に表示されたからという理由です。
でも、触ってみた感じは、(今のところ)なかなか分かりやすくておすすめですね。
今回参考にさせていただいた記事はこちら。
PHP軽量FrameworkのSlim3 – Qiita
https://qiita.com/Syo_pr/items/b55e18a8361b3ff882b5
こちらの内容に沿って、実装を行いました。
まず、ディレクトリを作成します。
名前は任意でOKですが、私はミス防止に、サンプルの名前をそのまま使っています。
mkdir testSlim cd testSlim/ mkdir public cd public/
ディレクトリをつくったら、次に index.php
を用意します。
vim index.php
index.php の内容はこちら。
<?php use \Psr\Http\Message\ServerRequestInterface as Request; use \Psr\Http\Message\ResponseInterface as Response; require __DIR__ . '/../vendor/autoload.php'; $app = new \Slim\App; $app->get('/hello/{name}', function (Request $request, Response $response) { $name = $request->getAttribute('name'); $response->getBody()->write("Hello, $name"); return $response; }); $app->run();
最後に、一つ上のルートディレクトリに戻り、下記を実行します。
composer require slim/slim "^3.0"
なお、環境によっては Composer
コマンドが使えないこともあるので、その場合は Composer をインストールします。
案の定、私の環境では使えなかったため、下記のサイトを参考にしてインストールを行いました。
Composer を Windows にインストールする手順|WEB ARCH LABO
https://weblabo.oscasierra.net/php-composer-windows-install/
インストール後、composer -V
を実行して、バージョンが表示されれば成功です。
そして、下記のコマンドを実行し、ビルトインウェブサーバーを起動します。
php -S localhost:8080 -t public public/index.php
サンプル通りに作成した場合は、http://localhost:8080/hello/test にアクセスし、Hello, test と表示されれば成功です。
上で紹介した参考サイトでは、Routes.php とコントローラーファイルを作成し、Laravel 風のルーティングテーブルを作成する方法についても記述されていました。
こちらを導入すると、index.php や Routes.php がすっきりするため、おすすめです。
なお、Slim3 は最低限の機能しかないため、CSRF 対策を行う場合は、別途 slimphp/Slim-Csrf を導入する必要があります。
GitHub のページはこちらから。
GitHub – slimphp/Slim-Csrf: Slim Framework CSRF protection middleware
https://github.com/slimphp/Slim-Csrf
インストール方法から導入の手順まで載っているので、是非参考にしてください。
slimphp/Slim-Csrf の導入については、後日記事にまとめたいと思っています。
以上、軽量フレームワーク「Slim3」の紹介と導入方法でした。
現在は、slimphp/Slim-Csrf の導入の途中まではできたので、引き続き開発を行っていきたいです。
テンプレートを用意して、それを読み込んだりもしたいですね。
公式のドキュメントでは、slim/twig-view が紹介されていたので、こちらを導入してみたいと思います。