ちと色々と思考して、もしかしてSlimは割と「好みな可能性」を想起したもので。
いったん、分解して色々と整理してみたいなぁ、と思いました的、宣言エントリ。
いったん、環境だけ作成しました。
slim-skeleton使ったのと、ほぼ純正にSlimのみ、の2環境。
多分可能性として「slim-skeletonを選択する」可能性が高いとは思ってるのですが。
動きを理解するためにも「plainなSlim」をいじっておいた方がいいだろうなぁ、という判断でございます。
環境構築手順。
手元に composer.phar がある前提で。
slim-skeleton
php composer.phar create-project slim/slim-skeleton slim_test cd slim_test chmod 777 logs
plainなSlim
mkdir slim_test_plain cd slim_test_plain mkdir public vi public/index.php ``` <?php use \Psr\Http\Message\ServerRequestInterface as Request; use \Psr\Http\Message\ResponseInterface as Response; require 'vendor/autoload.php'; $app = new \Slim\App; $app->get('/hello/{name}', function (Request $request, Response $response, array $args) { $name = $args['name']; $response->getBody()->write("Hello, $name"); return $response; }); $app->run(); ``` php ../composer.phar require slim/slim "^3.0"
いずれも
php -S 0.0.0.0:8080 -t public public/index.php
で、ごく簡単に起動確認などしてみました。
ここからほじくっていって
・inからoutまで、どんな動きをするか
を、少しコードとか追いかけながら見ていきたいなぁ、と。
いや、テンプレートエンジンとか使いたいので「なんでこーゆー風にかくとちゃんと動くのか」とか、理解しておきたいですしおすし。
その辺の解明が終わったら……余力があったら
・DBを含むまるっとした一式の実験
・MagicWeaponとの悪魔合体
あたりにチャレンジしてみたい気が満々でございますw
まずは「Blogに書いておけば逃げ道がなくなるだろう」という身も蓋もないエントリーを、一発目に。