laravelで超簡単な掲示板アプリを作った
// routes.php Route::any('/', function() { // フォームで入力された情報を取得 $name = Input::get('name', 'No name'); $content = Input::get('content'); // 入力された情報をテーブルに書き込む $p = new Post; $p->name = htmlspecialchars($name); $p->content = htmlspecialchars($content); $p->save(); $posts = Post::orderBy('id', 'DESC')->get(); return View::make('view_posts')->with('posts', $posts); });
<!-- layout.blade.php --> <!doctype html> <html lang="ja"> <head> <meta charset="utf-8"> <title>BBS</title> </head> <body> <h1>シンプル掲示板</h1> {{ Form::open(array('url' => '/')) }} {{ Form::label('name', 'name') }} {{ Form::text('name') }} <br> {{ Form::label('content', 'content') }} {{ Form::text('content') }} <br> {{ Form::submit('post!') }} {{ Form::close() }} </div> @yield('content') </body> </html>
<!-- view_post.blade.php --> @extends('layout') @section('content') @foreach($posts as $post) <p>{{ $post->name }}</p> <p>{{ $post->content }}</p> <p><small>{{ $post->created_at }}</small></p> @endforeach @stop
勉強のために簡単なアプリを作ってみた。
更新すると空データが送信されたりするけど動けばいい。
これを作ってた際に直面した課題:
- css , .jsファイルが読み込めない
bootstrapの使い方とajaxも勉強しようと思ってpublic直下に置いた.css,.jsファイルが読み込めなかった。
- フォーム内の要素が改行されない
blade記法でラベル・テキストフィールドのセットを複数作ると改行されない。
軽くググってもそれらしい解決法は引っかからなかった。今回は間に
入れて誤魔化した。
もっとうまいやり方がたぶんあると思う。
とにかく動くものが欲しかったのでどちらも今回はスルーしたけど、明日以降また試してみる。
まだまだ先長いな。