Scribble at 2023-04-14 11:38:45 Last modified: 2023-04-14 13:16:35

添付画像

PHP 8 Quick Scripting Reference presents the essentials of PHP in a well-organized format, including new features in PHP 8 such as the just in time (JIT) compiler, union types, nullsafe operator, null coalescing assignment operator, match expressions, named arguments, throw expressions, static return type, non-capturing catches, reclassified engine warnings and constructor property promotion.

PHP 8 Quick Scripting Reference: A Pocket Guide to PHP Web Scripting (Mikael Olsson, Apress, 2020)

PHP8 に対応した scripting の参考書だ。scripting について書かれているため、要するに制御構造とかクラスについての参考書であって、関数のリファレンスではない。関数の解説はオンラインに充実したドキュメントがあるから、そちらを使う方がいいだろう。200ページ足らずの中に、PHP で開発を始めるための標準的な道具立てが並べられていて、或る程度のプログラミング経験があれば使いやすい参考書だろう。また、書籍の紹介文にもあるとおり PHP8 で導入された新しい仕様もカバーされているが、はっきり言うと PHP8 になったからといって何か劇的に開発手法や関数の挙動が変わったというわけでもなく、例えば JIT Compiler なんかはスクリプティングというよりもサーバ・エンジニアの領域の話題なので、やはりこの手の本は PHP で開発を始める人が手に取る方が有益だ。

もちろん、PHP の開発について知識をアップデートしたいという技術者にもお勧めできる。或る程度の経験がある技術者なら、第10章の Class あたりから数時間で通読できると思う。

[追記] というか、実際に全体を通読してみたら、11:36 にこの投稿を公開して、いま読み終えたのが12:36だから、まったくちょうど1時間で通読できたことになる。僕みたいな、英検2級あるかどうかの人間でこれなのだから、いまどきの高校生なら15分くらいで通読できるんじゃないかな。

念のため、気付いたことを(通読した証拠としても)書いておくと、殆ど僕自身が使っていないオペレータとして、exponent (**)、alternative の not equal to (<>)、それから PHP7 で導入された spaceship operator (<=>) を改めて確認した (p.16)。でも、使わないからまた忘れる可能性があるが。次に newdoc も、そもそも heredoc すら使わないのだが、フォームでメールの内容を一行ずつ馬鹿正直に append していたから、これは heredoc くらい使っておこうと思った (p.22)。そして match という制御構文なのだが (p.36)、ブレースの終わりにセミコロンを付けるとか、相変わらず記述法にどういう規則性があるのか分からない構文なので、ミスが起きやすいから使いたくはないな。そして、named arguments (p.48) なんかも、僕はユーザ関数を定義するときにディフォールトの値というのを設定したくない方なので、こういう argument の順番とか、明示的な順番を欠いた場合の仕様というのは、他人の書いたコードを code reading するときには役立つけれど、僕自身は積極的に使う気はしない。そして arrow functions (p.54) は closure というか無名関数の話で出てくるものだが、無名関数の書き方にバリエーションがありすぎて困惑させられるから、arrow functions の書き方は利用したい。ここから後の OOP に関連する内容は「はいはい、そうですか」といった印象があって、新しい内容もないので、かなり飛ばして読んだ。単純に言うと、スコープと継承関係だけ頭に入れたらいい。後半になると特筆することは大してなくなるのだけれど、null coalescing operator (p.120) は ternary operator を使うことが多いので、参考になる。なお、スクリプティングの参考書なので仕方ないのだが、セキュリティに関連する内容が p.140 の1ページしか書かれていないのには、かなり面食らった。外部からの入力に気を付けるというポイントはいいとしても、情報セキュリティとして気を付けるべきことは、あからさまな攻撃といったものだけではない。CIA の全てに関わるということにも配慮してもらいたい。

  1. もっと新しいノート <<
  2. >> もっと古いノート

冒頭に戻る


※ 以下の SNS 共有ボタンは JavaScript を使っておらず、ボタンを押すまでは SNS サイトと全く通信しません。

Twitter Facebook