はじめに
PHP Slim3フレームワークの勉強のため、
Slim公式のユーザーガイドにあるFirst Application Walkthroughのサンプルアプリを作成します。
まずは、ビルトインWebサーバーで表示させるところまで。
今回は、skeleton projectを使用しないバージョンです。
前提
下記記事で構築した環境を前提とします。
- Windows10にVagrantをを入れてCentOS7をインストールしよう(1、2、3、4、5、6)
- ローカルでLAMP環境を構築しよう(0、1、2、3、4)
- CentOS7にComposerをインストールしよう
使用ツール
- Tera Term
手順
1. 専用のユーザーを作成
2. プロジェクトディレクトリを作成
3. Slim Frameworkをインストール
4. アプリケーションを作成
5. アプリケーションを動作させてみる
やってみよう
1. 専用のユーザーを作成
前回の記事と同じ環境で行う方はこの工程はスルーでOKです。
Composerをrootユーザーで操作することは推奨されていないので、
以下のコマンドでslimuserというユーザーを作成します。
useradd slimuser
作成したslimuserに以下のコマンドで切り替えます。
su slimuser
2. プロジェクトディレクトリを作成
slimuserユーザーが作成されると
/home/ディレクトリ内にslimuserディレクトリが作成されます。
その中に以下のプロジェクトディレクトリを作成します。
/home/slimuser/projects/slim/FirstApplication
FirstApplicationの下に以下のようにディレクトリを作成します。
必ずしもこのディレクトリ構造ではなくてもいいようですが、
今回はユーザーガイドに倣います。
.
├── FirstApplication
│ └── src
│ └── public
3. Slim Frameworkをインストール
上記で作成したsrcディレクトリまで移動します。
cd /home/slimuser/projects/slim/FirstApplication/src
以下のコマンドを実行します。
composer require slim/slim:3.*
srcディレクトリ内には以下のようなファイル群が生成されます。
[slimuser@localhost src]$ ls -la
total 16
drwxrwxr-x 4 slimuser slimuser 76 Jun 1 00:30 .
drwxrwxr-x 3 slimuser slimuser 17 Jun 1 00:28 ..
-rw-rw-r-- 1 slimuser slimuser 54 Jun 1 00:30 composer.json
-rw-rw-r-- 1 slimuser slimuser 9700 Jun 1 00:30 composer.lock
drwxrwxr-x 2 slimuser slimuser 23 Jun 1 01:10 public
drwxrwxr-x 7 slimuser slimuser 92 Jun 1 00:30 vendor
4. アプリケーションを作成
srcディレクトリの下のpublicディレクトリに、index.phpファイルを作成します。
vi public/index.php
以下のように記述してください。
First Application Walkthroughでは、
5行目をrequire '../vendor/autoload.php';と記述していましたが、
同じようにするとなぜかエラーが出てしまったので、
require '/home/slimuser/projects/slim/FirstApplication/src/vendor/autoload.php';
のようにフルパスで記述しました。
<?php
use \Psr\Http\Message\ServerRequestInterface as Request;
use \Psr\Http\Message\ResponseInterface as Response;
require '/home/slimuser/projects/slim/FirstApplication/src/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();
5. アプリケーションを動作させてみる
今回は、PHPのビルトインWebサーバーを使用して表示します。
以下のコマンドを実行します。
192.168.33.60部分は各自の環境に置き換えてください。
php -S 192.168.33.60:8080 -t public public/index.php
下記が表示されたらブラウザでhttp://192.168.33.60:8080/hello/worldを開いてみてください。
[slimuser@localhost src]$ php -S 192.168.33.60:8080 -t public public/index.php
PHP 7.1.33 Development Server started at Mon Jun 1 02:01:37 2020
Listening on http://192.168.33.60:8080
Document root is /home/slimuser/projects/slim/FirstApplication/src/public
Press Ctrl-C to quit.
"Hello, world"と表示されました。
"world"を"cat"に書き換えて表示すると、表示が変わります。
http://192.168.33.60:8080/hello/cat
補足
PHPのビルトインWebサーバーではなく、apacheを使用する手順については、
PHP Slim3フレームワークのサンプルアプリをApacheで動かそう(1、2、3)を参照してください。
参考サイト
関連ページ
Windows10にVagrantをを入れてCentOS7をインストールしよう
1. VagrantインストールからVagrantfileを設置まで
2. 仮想マシンの操作
3. WinSCP、Tera Termに秘密鍵でログイン
4. WinSCP、Tera Termにrootユーザーでパスワードログイン
5. zip/unzipをインストール
6. Vagrantにて仮想環境を配布
ローカルでLAMP環境を構築しよう
0. 事前準備
1. Apacheをインストール
2. MySQLをインストール
3. PHPをインストール
4. ファイアウォールとか停止する
Composerをインストール
PHP Slim3フレームワークのサンプルアプリを作ろう
1. skeleton project
2-1. First Application Walkthrough Getting Set Upまで

