lalala Laravel
スクロールするかな
・repositoryでパラメータなかったらシステムエラーにするかな
・owlでテスト参考
・logo表示確認 → サイドバー固定やめようかね
・お知らせ確認
・modelをまとめる
・inputとreqの統一
・mock
・laravel ログ IPアドレス 端末
Request::ip()
・コントローラーではやっぱり コンストラクタでつくった $this-> をつかおう
blog.comnect.net/blog/131
ルーティング
prefixやドメイン名でグルーピングできたり、ルーティングでMiddlewareを足したりできるのでかなり優秀。
LaravelCollectiveを使えばannotationで指定もできる。自分は使っていない。
Middlewareというのはいわゆるフィルタ的な、共通の事前処理のようなもの。認証チェックとか
ビューの共通変数を当てたりするのに使うことが多い。
http://qiita.com/wrbss/items/6b8c80892299dc2ba5f2
VIEWで ENV{ HOME_URL }つかってるがどうやって設定してるんだっけ?
http://qiita.com/wrbss/items/6b8c80892299dc2ba5f2
・view共通変数
コンストラクタで以下のように書くと blog.index、blog.show、blog.editのviewへ渡せると思います。
public function __construct() {
View::share( categories カテゴリ );
}
たとえば特定の一連のURIにおいて同じビュー変数を設定したいときなどはView::share()を使う。
View::share("name" "foobar");
指定する場所としては、App::beforeとか、特定のフィルタなんかが考えられる。同じ処理を何度も書きたくないとか、フィルタで一度引っ張ったデータをコントローラで再度引っ張ってて無駄っぽいと感じた時などに使うと幸せになれるかもしれない。
App::before(function($request)
{
View::share( something Something::find(1));
});
http://syossan.hateblo.jp/entry/2014/05/26/104254
こうやってるかの確認
DB::transactionを使うとエラーになった場合自動でロールバックまで行ってくれるので便利ですねー!
なので、LaravelでDB処理を書く際は以下のように書くのが良いみたいです。
$table = Table::find(1);
DB::transaction(function() use($table) {
// InsertとかupdateとかのDB処理
$table->save();
});
repositoryにエラー処理書いてないのが多いね
こんな感じの画面を作るので以下のメソッドを用意することにします。
index => 一覧画面表示処理
create => 新規作成画面表示処理
store => 新規作成処理
edit => 更新画面表示処理
update => 更新処理
delete => 削除処理
check => TODOをチェックする処理
model
app/Todo.php
<?php namespace App;
use Illuminate¥Database¥Eloquent¥Model;
class Todo extends Model {
protected $table = todos ;
protected $fillable = [ title limit done user_id ];
protected $dates = [ limit ];
public function user()
{
return $this->belongsTo( App¥User );
}
}
ルートパラメータが必須でない場合、後ろに?をつけます。
routes.php
Route::get( item/{id?} function ($id = null) {
return 商品ID: . $id;
});
idはvalue等ではなくurlに含んで送る(POSTの場合も)。
削除(destroy)は、リンク(GET)ではなくPOSTで処理する。idはurlで送る。
削除ボタンにbtn-destroyというクラスを追加。
リクエスト参考かな
http://qiita.com/zaburo/items/9fefa3f6834b2e79b734
書き方さんこうに コメントとか
https://github.com/bestmomo/laravel5-example/blob/master/app/Repositories/UserRepository.php
owl
request ではなく input で統一したほうがいいのかな?
<a href= https://px.a8.net/svt/ejp?a8mat=2NZB65+C6SIE2+2CPQ+NVWSH target= _blank >
<img border= 0 width= 468 height= 60 alt= src= https://www21.a8.net/svt/bgt?aid=161210957737&wid=002&eno=01&mid=s00000010979004012000&mc=1 ></a>
<img border= 0 width= 1 height= 1 src= https://www12.a8.net/0.gif?a8mat=2NZB65+C6SIE2+2CPQ+NVWSH alt= >
<div class= amazlet-box style= margin-bottom:0px; ><div class= amazlet-image style= float:left;margin:0px 12px 1px 0px; ><a href= http://www.amazon.co.jp/exec/obidos/ASIN/B0098D4GYG/aucket-22/ref=nosim/ name= amazletlink target= _blank ><img src= http://ecx.images-amazon.com/images/I/31CQUpSLnGL._SL160_.jpg alt= ツインバード サイクロンスティック型クリーナー スケルトンブラック TC-E123SBK style= border: none; /></a></div><div class= amazlet-info style= line-height:120%; margin-bottom: 10px ><div class= amazlet-name style= margin-bottom:10px;line-height:120% ><a href= http://www.amazon.co.jp/exec/obidos/ASIN/B0098D4GYG/aucket-22/ref=nosim/ name= amazletlink target= _blank >ツインバード サイクロンスティック型クリーナー スケルトンブラック TC-E123SBK</a><div class= amazlet-powered-date style= font-size:80%;margin-top:5px;line-height:120% >posted with <a href= http://www.amazlet.com/ title= amazlet target= _blank >amazlet</a> at 16.12.11</div></div><div class= amazlet-detail >ツインバード工業(TWINBIRD) (2012-09-14)売り上げランキング: 30</div><div class= amazlet-sub-info style= float: left; ><div class= amazlet-link style= margin-top: 5px ><a href= http://www.amazon.co.jp/exec/obidos/ASIN/B0098D4GYG/aucket-22/ref=nosim/ name= amazletlink target= _blank >Amazon.co.jpで詳細を見る</a></div></div></div><div class= amazlet-footer style= clear: left ></div></div>