はじめに
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まで