ふたりはララベル (Laravel PHP Framework)

PHPフレームワークのLaravelの体験記を書いていきます。こんなタイトルのブログですが萌え系アニメは一秒たりとも観たことがありません。

2013-01-01から1年間の記事一覧

perlで配列の空白を除去する

perlで配列内の空白を除去して配列内の要素を詰めたい場合はgrepを使う。 @file = grep { !/^\s*$/ } @file; これは自作の設定ファイルから適切な行だけ抜き出したいときに使える。 127.0.0.1 # ローカルホスト 127.0.0.2 #127.0.0.3 127.0.0.4 127.0.0.7 例…

blade上でforeachの多重ループ

blade上でforeachの多重ループをしたいときは………そのまんま多重にすればよい。 @foreach ($titles as $title) $title['name'] @foreach ($title->tags as $tag) {{ $tag }} @endforeach @endforeach 上記の場合だと、「$title->tags」が配列である必要がある…

別のURLにリダイレクトする

class TitleController extends \BaseController { /** * Display a listing of the resource. * * @return Response */ public function index() { return Redirect::to('/'); }

SessionHandlerでPermission deniedが発生

フォルダ「app/storage/sessions/」の権限設定を忘れていたら、以下のようなエラーが出てしまった。書き込み権限を設定すれば解決した。 SessionHandler::read(): open(/var/www/hello/app/storage/sessions/sess_v5fkabtdmi8ahwh3hsvk6dzmp0, O_RDWR) faile…

blade上でタグのclassを設定する

blade上でHTMLタグにclassを設定したいときは、配列として渡す。例えばLaravelのFormにclass「form-horizontal」を渡すときは以下のようになる。 {{ Form::open(array('route' => array('hello.store'), 'class' => 'form-horizontal')) }}

blade上で変数の存在確認

blade上で変数がnullだと「Undefined variable: 変数名」というエラーになる。これを回避するためにはissetで変数の中身を確認する。 @if (isset( $message )) $message @else Hello @endif ||

php_eaccelerator_tsは有効にしておく

xamppでLaravelを動かしたら以下のエラーが出た。原因はphp_eaccelerator_tsがデフォルトで無効になっていたからだった。 Warning: Illegal offset type in isset or empty in C:\xampp\bootstrap\compiled.php on line 439 Warning: Illegal offset type in…

配列の短縮構文

PHP5.4から配列の短縮構文が使えるようになったけど、まったく注目していなかった。でも多次元配列が多いLaravelでは役に立つね。通常の記述方法 Form::model($user, array('route' => array('user.update', $user->id))) 配列の短縮構文を使った記述方法 Fo…

bladeに多次元配列を渡してループさせる

bladeのforeachに多次元配列を指定する方法を書きます。まずblade側。 <ul class="breadcrumb"> @foreach($breadcrumbs as $breadcrumb) <li><a href="{{ URL::to('./' . $breadcrumb['href']) }}">{{ $breadcrumb['name'] }}</a></li> @endforeach </ul>コントローラー側。 public function index() { return View::make('hello.index')->with('breadcrumbs…

Laravelの設定ファイルを作る

Laravelでオリジナルの設定ファイルを作りたいときは「app\config」にファイルを置くだけでいい。デフォルトでいくつか設定ファイルが既に入っているので真似しやすい。とりあえず「original.php」を作ってみた。中身は配列をreturnするだけ。 original.php …

xamppでLaravelとデータベースの設定をする

Laravelのデフォルト設定ではデータベースにmysqlを想定しているので、mysqlを使っている場合はデータベースの設定はほんの数行いじるだけで済む。編集する対象のファイルは「app\config\database.php」だ。mysqlの項目で データベース名 ユーザ名 パスワー…

Laravelでhtmlのヘッダタイトルをつける

ようやくindexページまで来れた。今回はBlade上でtitleタグをつけるけど、コントローラー上でタグをつける方法もある。「app\views\index.blade.php」を作った。 @extends('layout.default') @section('title') Index Page @stop @section('content') Hello …

Laravelでtwitter bootstrapを使う

Laravelにtwitter bootstrapを入れてみる。twitter bootstrapも初めて触る。 とりあえずダウンロードして、web root直下にbootstrapフォルダを置いた。treeコマンドで見ると以下になる。 ├─bootstrap │ ├─css │ │ bootstrap-responsive.css │ │ bootstrap-re…

コントローラとモデルの作成

Laravelではコントローラとモデルは簡単に作成できるみたい。と、分かった風に書いているが私はLaravelがほぼ初めてのフレームワークだったりする。例によって「artisan」を使うとコントローラを自動的に作ってくれる。とりあえず「UserController」という名…

データベースのテーブルに初期値を自動登録する

Laravelの機能を使ってデータベースのテーブルに初期値を自動的に登録する。 artisanのオプションであるdb:seedを使うとテーブルに初期値を登録できる。まず「app\database\seeds」に「UserSeeder.php」というSeederを作る。中身は以下の通り。 'Arnold', 'd…

migrateでDBテーブルを作成する

LaravelではDBテーブルを作る時に「artisan(アーティザン)」コマンドの「migrate(マイグレート)」オプションを使う方法がある。これを使わなくてもDBのテーブルを構築できるけど、せっかくなので使ってみる。何が便利なのかはいまいちピンと来ない。まず…

LaravelのインストールディレクトリとURLを変更する

Laravelではpublic以外の全てのファイルとフォルダをweb rootではない場所に置くことが推奨されている。Laravel4 日本語ドキュメントにはこんなことが書いてある。 Laravelでは公開する必要があるファイルはpublicフォルダーに設置し、アプリケーションのコ…

Laravelインストール直後の初期設定

Laravelの初期設定は「app\config\app.php」を編集する。 日本の場合は「timezone」を「Asia/Tokyo」にし、「locale」を「ja」にする。 /* |-------------------------------------------------------------------------- | Application Timezone |---------…

Windows+XAMPPにLaravelをインストールする

ここのブログではIT技術系の自分メモを書いていきます。とりあえずはWebフレームワークのLaravelについて。WebフレームワークのLaravelをインストールしようとして、さくらレンタルサーバを使ってみた。そうしたらcomposerによるLaravelのダウンロード中に K…