slimを使って簡単なwebサービスを開発してみました
シンプルIT勉強会リスト
全体像
バッチで勉強会の情報が入ったファイルを生成しておいて、slimからそれを読み込んで表示するという、作りもシンプルなものです!
slimでviewの切り出しを行う
index.phpのrouteですべてを実装するのは、管理しづらいので、viewは切り出してみましょう
renderの設定
slimのappの生成時にtemplates.pathにviewディレクトリへのパスを設定してあげます
$this->app = new \Slim\Slim(array( "debug" => true, "templates.path" => dirname(__FILE__) . '/../view' ));
※$this->となっているのは、今回は自分の好みでRouterをclassにしており、appをクラス変数にしているからです
どのtemplateを使うか
$this->app->get("/", function () { $this->app->render("index.php"); });
上記のようにappのrenderにtemplate.path以下のパスを渡してあげれば大丈夫です!
Routerからviewへの値の受け渡し
$this->app->get("/", function () { $resource = $this->getFile('hot'); $this->app->render("index.php", ['resource' => $resource, 'categories' => $this->categories, 'category' => 'hot']); });
renderの第二引数に連想配列で渡してあげます
view側での変数名 => 中身 という形です
これでRouter兼ロジックとviewの切り分けができるようになりました!
デプロイ
deployerで行っています。楽ちんです!
Deployer - The deployment tool for PHP | Deployer
cron設定
バッチを1日に2回動かすように設定しておきます
0 6,18 * * * cd /var/batch/simpleit; php ConnpassFileCreater.php > cron.log
次回
初めてwebサービスを公開してわかった3つのこと
合わせて読みたい
charlie1012.hatenablog.jp