ふくだ学習録とは?
ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。
読了した本
データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]
ゼロから作るDeepLearning
PHPフレームワーク CakePHP 3入門
SQLアンチパターン
Docker入門
今読んでいる本
アプリ制作
ヒアドキュメントとは?
文字列をシェルスクリプトやプログラミング言語に埋め込むための方法。
複数行の記述などを簡単に記載できるようになる。
data = <<EOS
test
テスト
123
EOS
詳しい記述方法などは下記を参考にする。
ヒアドキュメントとは・基本の使い方(ruby)
【Laravel】パラメータ付きルーティング
必須パラメータの場合
# {}で囲っている部分がパラメータになる
Route::get('hello/{msg}', function($msg) {
.
.
.
return ...
})
任意パラメータの場合
# 任意にしたいパラメータの後ろに?をつける
# 引数がなかった場合のデフォルト値を指定しておく。
Route::get('hello/{msg?}', function($msg='no message.') {
.
.
.
return ...
})
【Laravel】シングルアクションコントローラ
「1つのコントローラに対して、1つのアクションだけを定義する」といった設計を行う場合に設定することがある。
設定方法は下記のように、__invoke
というメソッドを使用することで実装できる。
class HelloController extends Controller
{
# __invokeという名前で一つだけアクションメソッドを作成する。
public function __invoke() {
}
}
# 第二引数をコントローラ名だけにする('HelloController@__invoke'といった形にしない)
Route::get('hello', 'HelloController')
【Laravel】RequestとResponse
phpではリクエスト情報を取得する際に、$_REQUEST
というグローバル変数を使用する。
Laravelではそういったリクエストとレスポンスに関する情報はIlluminate/Http
名前空間にある「Request」「Response」というクラスとして用意されている。
【Laravel】@forelse
ディレクトリ構文の中で、@foreach、@elseを組み合わせたもの。便利そう。
@forelse( $配列 as $変数 )
# 繰り返し表示するもの
@empty
# そもそも配列が存在しないとき
@endforelse
【Laravel】$loop変数
Laravelが用意してくれている、繰り返しディレクティブ内で使用できる特別な変数。
例えば、$loop->index
と指定することで、現在のインデックス数を知ることができる。
Laravel コントローラ処理の前、後に別処理を行う方法。
middlewareを使用する。
■前処理の場合
public function handle($request, Closure $next)
{
# 実行したい処理を記載しておく。
return $next($request);
}
■後処理の場合
public function handle($request, Closure $next)
{
$response = $next($request);
# 実行したい処理を記載しておく。
return $response;
}
【Laravel】whereとorWhere
where()
をメソッドチェーンで複数使用した場合は、全ての条件に当てはまるものが返ってくる。(and条件)
orWhere()
の場合はor条件となるので、一つでも当てはまれば返ってくる。
【Laravel】whereRaw
whereメソッドチェーンを複数つなげるのが嫌いな人向けのメソッド。
複数条件を1行で書くことができる。(個人的にはあんまり好きじゃない)
whereRaw('age >= ? and age <= ?', [$min, $max]);
?部分に、第二引数で渡している値が順に入っていく。
:min
といった書き方は出来ないので注意。
今日の一言
Laravel良さげ!