はじめに
PHP Slim3フレームワークの勉強のため、
Slim公式のユーザーガイドにあるskeleton projectのサンプルアプリを作成します。
前提
下記記事で構築した環境を前提とします。
- Windows10にVagrantをを入れてCentOS7をインストールしよう(1、2、3、4、5、6)
- ローカルでLAMP環境を構築しよう(0、1、2、3、4)
- CentOS7にComposerをインストールしよう
使用ツール
- Tera Term
PHP Slim3フレームワークとは?
PHPのマイクロフレームワークのひとつ。
必要最低限の機能のみを提供し、その分速度が出るようにデザインされた軽量なフレームワークで、
同時アクセス数が比較的多く見込まれる場合に使用されるケースが多いそうです。
slim/slim-skeletonパッケージとは?
今回作成するskeleton projectのサンプルアプリは
slim/slim-skeletonパッケージを使用して作成します。
slim/slim-skeletonパッケージはプロジェクト構成のひな型です。
手順
1. 専用のユーザーを作成
2. プロジェクトディレクトリを作成
3. プロジェクトを作成
4. アプリケーションを動作させてみる
やってみよう
1. 専用のユーザーを作成
Composerをroot
ユーザーで操作することは推奨されていないので、
以下のコマンドでslimuser
というユーザーを作成します。
useradd slimuser
作成したslimuser
に以下のコマンドで切り替えます。
su slimuser
2. プロジェクトディレクトリを作成
slimuserユーザーが作成されると
/home/
ディレクトリ内にslimuser
ディレクトリが作成されます。
その中に以下のプロジェクトディレクトリを作成します。
/home/slimuser/projects/slim/
3. プロジェクトを作成
上記で作成したslim
ディレクトリまで移動します。
cd /home/slimuser/projects/slim/
以下のコマンドを実行します。
(補足:コメントで@nunulkさんにアドバイスいただきました。
以下のコマンドだと、最新のバージョン(現在だとSlim4)のスケルトンがインストールされてしまうので、
Slim3のバージョンを指定したコマンドを実行してください)
composer create-project slim/slim-skeleton Slim-Skeleton
composer create-project "slim/slim-skeleton=~3.1" Slim-Skeleton
Slim-Skeleton
ディレクトリが生成されました。
/home/slimuser/projects/slim/Slim-Skeleton
Slim-Skeleton
ディレクトリ内には以下のようなファイル群が生成されます。
[slimuser@localhost Slim-Skeleton]$ ls -la
total 92
drwxrwxr-x 8 slimuser slimuser 232 May 29 07:04 .
drwxrwxr-x 4 slimuser slimuser 50 Jun 1 00:27 ..
-rw-rw-r-- 1 slimuser slimuser 927 Jul 22 2019 composer.json
-rw-rw-r-- 1 slimuser slimuser 68825 May 29 07:04 composer.lock
-rw-rw-r-- 1 slimuser slimuser 583 Jul 22 2019 CONTRIBUTING.md
-rw-rw-r-- 1 slimuser slimuser 343 Jul 22 2019 docker-compose.yml
-rw-rw-r-- 1 slimuser slimuser 34 Jul 22 2019 .gitignore
drwxrwxr-x 2 slimuser slimuser 38 May 29 07:06 logs
-rw-rw-r-- 1 slimuser slimuser 189 Jul 22 2019 phpunit.xml
drwxrwxr-x 2 slimuser slimuser 40 Jul 22 2019 public
-rw-rw-r-- 1 slimuser slimuser 1249 Jul 22 2019 README.md
drwxrwxr-x 2 slimuser slimuser 90 Jul 22 2019 src
drwxrwxr-x 2 slimuser slimuser 25 Jul 22 2019 templates
drwxrwxr-x 3 slimuser slimuser 24 Jul 22 2019 tests
drwxrwxr-x 19 slimuser slimuser 279 May 29 07:04 vendor
4. アプリケーションを動作させてみる
今回は、PHPのビルトインWebサーバーを使用して表示します。
以下のコマンドを実行します。
192.168.33.60
部分は各自の環境に置き換えてください。
php -S 192.168.33.60:8080 -t public public/index.php
下記が表示されたらブラウザでhttp://192.168.33.60:8080
を開いてみてください。
[slimuser@localhost Slim-Skeleton]$ php -S 192.168.33.60:8080 -t public public/index.php
PHP 7.1.33 Development Server started at Fri May 29 10:02:43 2020
Listening on http://192.168.33.60:8080
Document root is /home/slimuser/projects/slim/Slim-Skeleton/public
Press Ctrl-C to quit.
http://192.168.33.60:8080/cat
を開くと、"Hello cat!"と表示されます。
"cat"部分は好きな単語で大丈夫です。
コマンドのオプションの解説
①-S 192.168.33.60:8080
ビルトインWEBサーバをこのURL(192.168.33.60:8080)で立ち上げるという意味です。
②-t public public/index.php
ドキュメントルートや読み込むファイルを指定します。
このオプションの使い方がわからず、apacheのDocumentRootに
プロジェクトを置こうとしたけど、rootユーザーじゃないと権限の問題で置けなくて、
どうすればいいかだいぶ途方に暮れていました。
PHPのビルトインWebサーバーではなく、apacheを使用する手順については、
PHP Slim3フレームワークのサンプルアプリをApacheで動かそう(1、2、3)を参照してください。
参考サイト
slimphp/Slim-Skeleton
私家版 Slim Framework チュートリアル (1) 〜 特徴と準備編
PHP マイクロフレームワーク Slim インストール
PHPのマイクロフレームワーク「Slim」を使ってみたら本当にスリムだった話
PHPのSlimフレームワークを試してみる
関連ページ
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まで