LoginSignup
0
1

More than 3 years have passed since last update.

PHP Slim3フレームワークのサンプルアプリを作ろう(1. skeleton project)

Last updated at Posted at 2020-05-29

はじめに

PHP Slim3フレームワークの勉強のため、
Slim公式のユーザーガイドにあるskeleton projectのサンプルアプリを作成します。

前提

下記記事で構築した環境を前提とします。

使用ツール

  • 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
Slim3スケルトン
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.

このように大きくSlimとブラウザに表示されます。
skeleton-project2.png

http://192.168.33.60:8080/catを開くと、"Hello cat!"と表示されます。
"cat"部分は好きな単語で大丈夫です。
skeleton-project3.png

コマンドのオプションの解説

①-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で動かそう(123)を参照してください。

参考サイト

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をインストール

CentOS7にComposerをインストールしよう

PHP Slim3フレームワークのサンプルアプリを作ろう

1.skeleton project
2-1. First Application Walkthrough Getting Set Upまで

PHP Slim3フレームワークのサンプルアプリをApacheで動かそう

1. VirtualHost使用
2. DocumentRoot使用
3. Alias使用

0
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1