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

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

Laravel4

Bladeのforeach内で変数をカウントする

Bladeのforeach内で変数をカウントするには…普通にPHPを書けばよい。 @foreach($titles as $title) @endforeach

workbenchのエラーはcomposer updateで直す

workbenchを使って自作パッケージを作っているとエラー出るときがある。 >php artisan {"error":{"type":"Symfony\\Component\\Debug\\Exception\\FatalErrorException","me ssage":"Class 'Antron\\Tasktable\\TasktableServiceProvider' not found","file"…

自作パッケージのBladeでextendsする

自作パッケージのBladeでextendsしたいときはパッケージ名を指定すればよい。 @extends('mypackagename::default') @section('content') <div class="container bs-docs-container"> <div class="bs-docs-section"> <p>Hello</p> </div> </div> @stop

パッケージ内にもroutes.phpを置く

パッケージ内用のroutes.phpを作りたいときはworkbench\vendor\packagename\src直下にroutes.phpを置く。次にサービスプロバイダーのboot()にroutes.phpを登録する。 public function boot() { $this->package(vendor/packagename); include __DIR__ . '/../…

Laravelのパッケージ開発でworkbench内のviewを指定する

Laravelのパッケージ開発でworkbench内にviewを作る方法を解説します。 まずパッケージ内にviewを作る 例えば以下のようにsrcフォルダ内にviewsフォルダを作り、その中にbladeファイルを入れる。 workbench\vendor\packagename\src\views\index.blade.php co…

SentryのControllerの例

Sentryを使ったLaravelのController、私は以下のように書いている。 public function doLogin() { $inputs = array( 'email' => Input::get('email'), 'password' => Input::get('password'), ); try { Sentry::authenticate($inputs, false); $cookie = Coo…

Laravel-ExcelでCSVファイルの読み込み

CSVを扱うLaravelパッケージはいくつかあったけど、一番便利だったのはLaravel-Excelだった。こんな感じで読み込める。 $csvs = Excel::load('test.csv')->setDateFormat('Y-m-d')->toArray();

ログイン時のemailアドレスをcookieから取り出す

ログイン画面を使う場合はIDやemailアドレスなどをcookieから取り出したい。 $email = Cookie::get('email'); return View::make('layouts.login')->with('email', $email);

Configに設定した値でセレクトボックスを作る

Formのselectを使うときに、そのvalueはConfigから持ってくることが多い。私の場合は以下のようにしている。 {{ Form::select('movies[]', Config::get('movies.title'), $movies , ['multiple' => true,'data-rel'=>'chosen','class'=>'span12']) }}

Laravelを使ったライセンス管理ソフトウェア Snipe-ITのインストール

Laravelを使ったライセンス管理ソフトウェアでSnipe-ITというのがあった。Laravel4.1とSentry2を使う。試しにインストールしてみた。 snipe/snipe-it · GitHub composer updateをかける インストールの仕方はよくわからなかったので、ZIPを解凍してcomposer …

Laravelのパッケージを自作するときのエラー

config/workbench.phpにユーザ名とメールアドレスを設定しておかないと以下の様なエラーがでる。 [Composer\Json\JsonValidationException] "./composer.json" does not match the expected JSON schema: - authors[0].email : Invalid email

Laravelの自作WorkbenchでConfigを使う

Laravelの自作Workbenchで自作でConfigを使うのは、本当にそのままで出来る。 「workbench/vendorname/packagename/src/config」内にfilename.phpを置く。filename.phpの中身は以下のとおり。 [ 'laravel' => 'ララベル', ], ); この値を表示するのは以下の…

workbenchでコマンドを作る

workbenchにコマンドを作ってみた。ベンダーはfutariでAwkというサービスプロパイダーが既に作られている場合、以下のようになる。 php artisan command:make AwkCommand --command=awk:shodoku --path="workbench\futari\awk\src\Futari\Awk"これでworkbenc…

Form::openからメソッドを指定する

Form::openからメソッドを指定する。 {{ Form::open(['action' => ['UserController@change', $user->id]]) }} {{ Form::close() }}

Eloquent上で関連付けし、さらにWhere句を使う

Eloquent上で関連付けし、さらにWhere句を使う時は、useを使って$where句を渡す。以下の例はTitleモデルとNameモデルを関連付けして、さらにWhere句で絞込をしている。 $where = "country='Japan'"; $lists = Title::whereHas('name', function($q) use ($wh…

共通関数はBaseControllerを使う

共通関数的なものはBaseControllerに作ればよいのか。今まで気が付かずにファサード使ってたよ。おかげでファサードが勉強できた。

さくらのレンタルサーバにLaravelをインストール

さくらのレンタルサーバにLaravelをインストールする手順を解説します。事前にComposerが必要になります。 レンタルサーバにComposerをインストールする - ふたりはララベル (Laravel PHP Framework) 解説上、さくらのアカウント名を「sakura」とします。 …

Laravelのファイルアップロード

Laravelでファイルアップロードをする場合。 Blade側 {{ Form::open(['action' => ['TitleController@upload'], 'files' => true]) }} <fieldset> クリックしてCSVファイルを選択してください ⇒ <input class="input-file uniform_on" type="file" name="csv"> <div class="form-actions"> <button type="submit" class="btn btn-warning">アップロード</button> /div> …</div></fieldset>

workbenchに対してmigrateを実行する

例えば認証パッケージのconfideでmigrateを実行したいときは php artisan migrate --package=zizaco/confideを実行すれば、「vendor\zizaco\confide\src\migrations」フォルダ内が読み込まれる。しかし自作のパッケージだとworkbench内に置かれるのでやり方…

blade上で変数の存在確認

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

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…