Help us understand the problem. What is going on with this article?

ComposerでSlim4を導入

はじめに

普段PHPで開発を行っていますが、しばらく前からSlim3というフレームワークで開発を行うようになりました!
前回はComposerとXamppの導入を行ったので、今回はフレームワークを入れて、PHPが組める環境にしていきます。

目次

・実行環境
・環境構築
 - Xampp、Composerの用意
・Slim4導入
 - env作成(設定ファイル)
 - DB接続設定
・Xampp実行(WEBサーバー、DBサーバー)
・初期設定
・動作確認

実行環境

・Windows
・Composer
・Xampp(Apache,Mysql)
・Slim4
ネットにつながるWindowsPC1台で完結します!

環境構築

今回以下のディレクトリ配下で作業することを想定しています。
C:\demo\slim4
上記のディレクトリを事前に作成し、PowerShellで開いておいてください。
プロジェクト作成後は
C:\demo\slim4\my-app
がルートディレクトリになります。(my-appは自動作成です。)

Xampp、Composerの用意

前回の記事でXamppとComposerを導入しています。
もし入れていなければそちらをご覧ください。

Slim4導入

早速Slim4を入れていきます。
ただ一からフレームワークの部品をすべて作成していくと非常に手間がかかるので、
Skeletonを使用して作成していきます。
今回は
odan/slim4-skeleton
というものを使用していきます。
以下のコマンドを実行してください。

composer create-project odan/slim4-skeleton my-app

ルートディレクトリの下に
my-app
という名前でプロジェクト作成されました。
ではファイルを編集していきます。

env作成(設定ファイル)

configフォルダの下にある
env.example.php
をコピーして
env.php
を作成してください。

DB接続設定

env.phpを開いて、
DBの接続設定を編集します。
ですがXamppを入れた人はここでは設定の記述はデフォルトで問題ないと思います。

// Database
$settings['db']['database'] = 'test';
$settings['db']['username'] = 'root';
$settings['db']['password'] = '';

Xampp実行(WEBサーバー、DBサーバー)

PC下部の検索バーでXamppを検索し、Xampp Control Panel を実行します。
image.png

コントロールパネルを実行したら以下のようなウィンドウが開くので、
まずはWebサーバーの設定をします。
Apacheの列のConfigからApache(httpd.conf)を開きます。
image.png

httpd.confというテキストが開くので、
以下編集していきます。
既にDocumentRootという記述があるので編集します。

DocumentRoot "C:\demo\slim4\my-app\public"

これはlocalhostにアクセスしたときの参照先の設定になります。

また、以下をファイル最下段に追記します。

<Directory "C:\demo\slim4\my-app">
    Options Indexes FollowSymLinks Includes ExecCGI
    AllowOverride All
    Require all granted
</Directory>

これを記述することによりプログラムからDirectoryに記述したフォルダにアクセスすることができるようになります。
設定できたらWebサーバーを起動します。
image.png

DBサーバーも起動します。
DBサーバーは特に設定の変更は必要ありません。
image.png

初期設定

プロジェクトの作成とWEBサーバー、DBサーバーの作成が済んだら初期設定を実行します。
プロジェクトのルートディレクトリ(C:\demo\slim4\my-app)で以下を実行します。

composer migrate

自動で初期設定が完了するのでアクセスしてみましょう!

動作確認

ブラウザを開いて、
http://localhost/
にアクセスします。
image.png
こんな画面が出ていたら導入に成功しています。

OKを押下すると画面にアクセスできます。
時刻が表示されていることや
Usersなどアクセスしてみてください。
DBに接続できているはずなので、DB接続のツール等(MySQL Workbench等)でテーブルをいじることができればユーザーを追加してUsers画面で確認できると思います。

次回はこのSkeletonにページを作成したいと思います!

denkosha
ITコンサルティングからソフト開発・運用保守まで、 教育・出版・通信事業など様々な大手企業様のシステムに携わっています。 私たち電巧社は、時代に合わせた進化でお客様のニーズにお応えするため挑戦を続けます。
http://www.de-denkosha.co.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした