はじめに
自分が理解できていない部分を整理しながら、知識を少しずつ深めていくことを目的にこの記事を書いています。
そのため、内容の中には誤りが含まれている可能性もありますが、その点はご容赦ください。
間違いなどがあれば、ぜひコメントなどで教えていただけると嬉しいです!🙇
今日整理していく内容
- Trait(トレイト)とは?!
- PHP の Enums(列挙型)
- Kubernetes(k8s)
Trait(トレイト)
いきなり、レビューで Trait(トレイト)で共通化した方がいい!と言われて焦って調べたら、なんかいい感じに再利用できる集まりのことみたいだったので、これを使って共通化しました。
とはいえ、Trait(トレイト)って全然わからなかったので簡単に言葉の整理をすると、以下みたいです。
“PHP implements a way to reuse code called Traits. Traits are a mechanism for code reuse in single inheritance languages such as PHP.”
つまり、単一継承の制約を減らすために作られたもので、いくつかのメソッド群を異なるクラス階層にある独立したクラスで再利用できるみたいです。
trait Greeting {
public function sayHello() {
echo "Hello!";
}
}
class User {
use Greeting; // ← Traitを「使う」
}
$user = new User();
$user->sayHello(); // Hello!
trait は共通の機能をまとめる仕組みで、use を使ってクラスにその機能を“追加”できます。
PHP の Enums(列挙型)
Enums も何となくの理解でここまで来てしまっているので、整理していきます。PHP の 8.1 で追加されたらしく、シンプルにいえば定数の集合をまとめて定義できる型の機能みたいです。
つまり、あらかじめ決められた値だけを使いたい時に使う仕組みのこと??とここでは一旦、理解しておきます。
enum Status {
case Pending;
case Approved;
case Rejected;
}
// 関数の引数に Enum を指定
function printStatus(Status $status) {
echo "現在の状態: " . $status->name;
}
// 使う
printStatus(Status::Pending); // 現在の状態: Pending
上のコードだと、「Pending」「Approved」「Rejected」のどれかしか選べないってことですね。多分。。。。
Kubernetes(K8s)について
これは、なんでいきなり8の数字出てくるん??って普通に疑問に感じました笑
Kubernetes という単語の中には、
最初の「K」
最後の「s」
その間に「8文字(ubernete)」
があるので…
K + 8文字 + s → K8s ってことみたいです。
いや、変な感じだなぁーって思いました笑
案件で本格的に使っていくので、Kubernetes(K8s)については今後しっかりとまとめてアウトプットしていきます!
まとめ
ここまで読んでいただきありがとうございました!
今回の記事では、
- Trait(トレイト)とは?!
- PHP の Enums(列挙型)
- Kubernetes(k8s)
について整理しました。
今日はビールを飲みながら自分の知識を整理してきましたが、眠くなってきたのでこのあたりで寝ようと思います〜〜
明日も頑張ります!💪