🕌

TECHNICAL MASTER はじめてのPHP エンジニア入門編読んだ

に公開

読んだ書籍

TECHNICAL MASTER はじめてのPHP エンジニア入門編

全体を通して

  • PHP8までの重要であろう新機能などを網羅的に書かれていたのでありがたかった
  • 脆弱性に関しても色々と書かれていたので良かった
  • フレームワークの種類において有名どころを紹介および各特徴が書かれていたので違いがわかりやすい
  • アーキテクチャに関しても簡単な説明があるのでなんとなくでもこんな設計にすればいいのかっていうのがわかった
  • 開発手法(TDDとかアジャイル)に関しても簡単な説明があり雰囲気がつかめる

全体的に買ってよかったです。

PHP言語部分での気付きだけ下記に記載(開発手法などはどうまとめたらいいのかわからないので許して)

P5. 終了タグが見つかるまで

多分終了タグまたはEOFまでが正解と思う(EOFのときは閉じないのは推奨
https://www.php.net/manual/ja/language.basic-syntax.phptags.php
※P20で推奨のことは書かれているので、まあ最初の説明としてわかりやすくしたんだと思う

P21. ドキュメンテーションコメント

/**
*/

ってそういう呼び名だったんだな

p21. 8進数

$a = 01234;

これで8進数になるのか…知らなかった。まあ8進数使わないし…

p22. NowDoc構文

https://www.php.net/manual/ja/language.types.string.php#language.types.string.syntax.nowdoc

<?php
echo <<<'EOT'
My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41
EOT;

結果

My name is "$name". I am printing some $foo->foo.
Now, I am printing some {$foo->bar[1]}.
This should not print a capital 'A': \x41

変数展開(?)しないやつか(いわゆる'で囲ったのと同じ)

P32. オブジェクトの識別子がコピーされる

https://www.php.net/manual/ja/language.operators.assignment.php
オブジェクトの識別子???ってって思って調べた限り、いわゆる参照ってことでいいっぽい(C言語から始めたので参照でわかるんだけど、JavaとかC#ならばこういうのって識別子っていうの???)

P33. and or

あったのかお前…そして優先順位が代入演算子より低い…使い道がわからん…

P35. 右シフトの例

(-5) >> 1-3…確かに…マイナスに右シフト使ったことないや

P43. match

あるんだね…知らなかった

P49. 引数(P52. 無名関数も)

引数リストの最後にカンマを付けても問題ありません…そうだったのか!

P51. 戻り値

なにもreturnしなかったらnullだったんだね

P63. 他のオブジェクトからのアクセス権

同じ種類のオブジェクト同士なら、たとえ同じオブジェクトでなくてもprivateprotectedにアクセス可能…そうだったのか…C++のときはどうだったっけ…わすれた。

P75. リファレンス

PHPにおいてのリファレンスとは「同じ変数を別の名前で参照すること」を意味します。これはCのポインタとは異なります…まあCの参照と考え方は同じだよね。

P76. オブジェクトとリファレンス

オブジェクトの識別子を保持…上記でも???ってなったって書いたけど、まあオブジェクトへアクセスするためのID…まあメモリ上のアドレスと考えたらいいでしょう。

P81. 型宣言の追加と歴史

PHPの変数などの型宣言の機能追加の歴史が書かれていたけど、PHP8で大体の宣言はできそう…ありがたい。もうここまでくるとコンパイルできないのかしらって思う(もうできたりするの?

P88. PHPDocとアトリビュート

PHP8からアトリビュートという機能が追加されたっぽい。
アトリビュートの概要
プログラムするうえで使ったことはないんだけど、うまく使うと便利な方法があるんだろうなぁ…知りたい

P97. 列挙型

PHP8.1までなかったのか…確かに使った覚えがない…

Discussion