wonTech

プログラミングもろもろ

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記法でラベル・テキストフィールドのセットを複数作ると改行されない。
軽くググってもそれらしい解決法は引っかからなかった。今回は間に
入れて誤魔化した。
もっとうまいやり方がたぶんあると思う。

とにかく動くものが欲しかったのでどちらも今回はスルーしたけど、明日以降また試してみる。
まだまだ先長いな。