Laravel#CSRFトークンチェックを無効化する
環境:Laravel5
CSRFチェックの本体は「app/Http/Middleware/VerifyCsrfToken.php」です。
ここにCSRFチェックを無効にしたいフォームを記載する。
[デフォルト設定]
public function handle($request, Closure $next){ return parent::handle($request, $next); }
[変更後]
// CSRFを除外したいURLリスト protected $routes = [ 'hoge/fuga', 'foo/bar', 'baz/qux', ]; // handleを変更 public function handle($request, Closure $next){ if($this->excludedRoutes($request)){ return $this->addCookieToResponse($request, $next($request)); } return parent::handle($request, $next); } /* * CSRFを除外したいURLであるかどうかをチェックする。 * @param Request リクエスト * @return boolean CSRFを除外したいURLであればtrue **/ protected function excludedRoutes($request){ foreach($this->routes as $route){ if ($request->is($route)){ return true; } } }
#参考サイト
Laravel5.0 CSRFチェックを無効化 - Qiita
Laravel#Eloquent ORMによるDB操作#モデルの定義
環境:Laravel5.0
Laravelでデータを扱う方法はQueryBuilder(DB::*)を使う方法と、Eloquent ORMを使う方法がある。Eloquent ORMでは、モデルを作成する必要があり、Query BuilderとDB操作が異なる。
モデルの作成
Eloquent ORMを利用するためには、モデルを定義する必要がある。
Laravel5からは、Modelディレクトリが無くなったので、App直下に作成する。
[記述例]
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Member extends Model{ protected $table = 'members'; public $timestamps = false; }
#メモ
今回は、timestampが定義されていない既存テーブルを使うので、テーブル名の指定に加え、$timestampsプロパティをfalseに設定している。
#参考サイト
Laravel#データベース接続設定
環境:Laravel5.0
設定ファイル
.env
config/database.php
1..env
データベース名やユーザ名、パスワードの設定等を変更する
DB_HOST=localhost DB_DATABASE=mydatabase DB_USERNAME=developer DB_PASSWORD=secret
2.config/database.php
データベース名、ユーザ名、パスワードの設定等を変更する
'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ]
#参考サイト
初めてのLaravel 5.1 : (6) データベースの環境設定 – ララ帳
Laravel#導入手順
1.Composerをインストール
2.以下のコマンドを実行
composer global require "laravel/installer composer create-project --prefer-dist laravel/laravel blog
3.設定
アプリケーションのドキュメント/Webルートをpublicディレクトリにする
#参考サイト
Gitコマンド一覧
$ git commit -m “[comment]”
コミットメッセージを同時に指定
$ git status
前回のコミットと比較してどのファイルが変更されたかを表示
$ git log
コミットログを参照する
$ git checkout [branch]
ブランチを変更する
$ git show
最新のコミット内容を表示
$ git clone [repository PATH] [new repository PATH]
リポジトリをコピーする
$ git push [remote repository PATH] [branch]
リモートリポジトリに変更を書き込む
$ git pull [remote repository PATH] [branch]
リモートリポジトリの変更を取り込む
$ git remote
リモートリポジトリの一覧表示
$ git fetch [remote repository]
リモートリポジトリの最新情報を追加する
$ git branch &[new branch]
現在のブランチの確認.&新しいブランチを作成する
#参考サイト
ZIPダウンロード
# サンプルコード
<?php //ZIPファイル名 $zipFileName= "kazesawa.zip"; // ストリームに出力 header('Content-Type: application/zip; name="' . $zipFileName . '"'); header('Content-Disposition: attachment; filename="' . $zipFileName . '"'); header('Content-Length: '.filesize($zipFileName)); ob_end_clean(); // 出力バッファをクリア echo file_get_contents($zipFileName); ?>
# 注意点
header出力後に、出力バッファーのクリアする。