プログラミング奮闘日記 PHP編14
プログラミング5ヶ月目にして泣きそうです。
とにかく分からない単語が野生のポケモンのように出てくるので、毎度毎度メモしておこうと思います。
ちなみに合っているかどうかは確かではないので、あまり参考にしないであげてください。
ちなみにPHPでLaravelに苦戦中です。
- strtotime関数
- LaravelではBlade.phpが優先的
- ヘルパー関数とヘルパ関数って違うの?
- Laravelで初のテーブルのカラム変更に挑むへなちょこ
- Boolen型ってやったらtinyint(1)とかいう意味不明のデータ型に変更された件について
- hasmanyリレーションとの対話
- Laravelやるなら買っておく本
strtotime関数
timestampを特定の場所の未来や過去を表示できるっぽい。
例えば、timestampの1日後や1時間後などを表示できるらしい…
https://ysklog.net/php/2094.html
これをみる限りそんな感じ。
公式をみてみるとこんな感じで使っている⏬
<?php
echo date( "Y-m-d", strtotime( "2009-01-31 +1 month" ) ); // PHP: 2009-03-03
echo date( "Y-m-d", strtotime( "2009-01-31 +2 month" ) ); // PHP: 2009-03-31
?>
上の方はおそらく2月が28日だったことを表したいのだろう。
LaravelではBlade.phpが優先的
いや今更!
という情報ですが、Laravelの場合、index.phpとindex.balde.phpだとbladeが付いている方を優先するそうです。
まあLaravel特有のものをそりゃ優先にしますわな。
ヘルパー関数とヘルパ関数って違うの?
Laravelの参考書に突如出現したヘルぱ関数
僕自身ヘルパー関数というものは度々耳にすることがあったが、読んでみると僕の思っていたものと違う。。。
どうやらCSRFと呼ばれるウェブ攻撃の対策のために用意された関数らしい、
トークンという非表示フィールドを追加して、それが正しいフォームだけを受け付けるようにする
というLaravelでフォームを作成する時に使用するものらしい。
とは言ってもテックアカデミーでフォームを作成した時にはこんなことしなかったんだけどなあ。
Laravelで初のテーブルのカラム変更に挑むへなちょこ
自身が作成していたものに新しいカラムを追加しなければいけないことがわかってしまったので、
https://qiita.com/usaginooheso/items/6f307a15b5f7d5dd981f
この記事を参考にカラムを追加してみた。
ただ追加してマイグレートしても全く問題ないと思ったのだが、なんかこの記事にはロールバックする時にだるいぜ
って書いてあったのでやめた
やった後にテーブルを確認したところ、しっかりと追加されていたので一安心。
Boolen型ってやったらtinyint(1)とかいう意味不明のデータ型に変更された件について
先ほどのカラム追加のデータ型をBoolen型にしたのだが、マイグレートした後に追加したカラムをみてみると
tinyint(1)と書いてある!
もうさっぱり分からなかったのでググってみたところ
https://blog.s-giken.net/29.html
👆どうやら0と1で表示してBoolen型のようにしているらしい。
詳しいことは分からないが問題はなさそう…。
hasmanyリレーションとの対話
テックアカデミーに行ったくらいで調子に乗っていた僕はhasmany関数でリレーションを普通に行っていたものの意味がわかっていなかった。
だから今絶望している。
簡単にいうと1対多の関係を持ったものにこれをする。(語彙力)
とにかくリレーションについてまず調べなければ…。
https://qiita.com/miriwo/items/b44c8299c218fc367613
5秒で思い出した。(データ間の関係のことや!カッコつけやがって…)
数秒後…
わかったぞおおおお
hasmanyリレーションをすることでデータ間の持ち運びがめっちゃ簡単にできるんや!(説明むずい)
class User extends Authenticatable {
省略…
public function tweets() {
return $this->hasMany(Tweet::class); }
}
例えば…上記のように
Userというテーブルと
Tweetというテーブルをhasmanyしておくと
そのユーザーのしたTweetが
$user->tweets で繰り出すことが可能となるのでアール。
こいつは役に立ちそうだぜ…
とりあえず本日はこんな感じ。。。
明日も精進いたします。
Laravelやるなら買っておく本