読者です 読者をやめる 読者になる 読者になる

bz0のにっき

quick and dirty prototype

軽量フレームワークSlimで開発する為のメモ

軽量フレームワーク Slimを使う

Slimという軽量フレームワークを使って開発をするときに
どういう風に作っていくべきか作法がわからなかったので
Skelton(土台)を下敷きに進めていくことにしました。

自分で色々試行錯誤するより、道筋が見えやすそうですし。


残念ながらPHP5.3環境なのでSlim2を使うことにしました。
https://github.com/aurmil/slim2-skeleton

※すみません、PHP5.5以上でしないと使えませんでした。
 ローカルの仮想環境が複数あり、間違えて5.6で試してました。。。

※PHP5.3でも、symfony/yamlのバージョンを2.0に落として
 プログラム内の配列が「[]」で書かれてるものを「array()」に書き直せば使えました。

どういう仕組みになってるのか把握する為に
中を少し読んでみたので、メモします。

skeltonの作成

composerをインストールした後に下記でスケルトン作成する

composer create-project aurmil/slim2-skeleton [your-project-name]

仕組み

全体像

f:id:bz0:20170127005247p:plain

index.php

/public/index.php
/project/public/でブラウザ叩くと初めに呼ばれるファイル

'cli-server' === PHP_SAPI

コマンドラインから起動したかをチェックする
http://qiita.com/ukisoft/items/8885a541a99f3b0e2e2e

bootstrap.php

/app/src/bootstrap.php
処理のメインとなるファイルです。

初期設定

/app/src/config.php
下記ファイルを読み込んでいる

/app/config.yml

時刻設定と、言語設定は変更した方がよさそう

default_timezone : 'Asia/Tokyo'
language_code : 'ja'

エラーログの扱い

/app/src/dependencies.php

・monologでログを出力する
・twigでエラー表示

ルーティング設定

/app/src/routes.php
slimによるルーティング

get,postパラメータの取得方法

$get  = $app->request->get();
$post = $app->request->post();

urlFor
http://blog.code-life.net/blog/2014/01/06/redirecting-slim-application-from-subdirectory/