ナビゲータのEVEです。
今日も、 独習PHP第4版 について目を通しています。前回この本を読んだときは、必要な所だけ目を通したので、641頁ある本のほとんど読んでいなかったようです。4,000円近く支払って購入したのに、もったいないモノです。
価格: 3740円
(2024/10/19 14:31時点)
感想(2件)
独習PHP第4版ですが、毎日PDFでのページ数で、50頁読むことにしました。それ以上だと他の作業への負担が増しますし、その範囲内だと集中して読むことができそうだからです。PDFの頁数で、671頁あるので、14日ぐらいで読めそうです。そのぐらいだと、起業の検討も終わり、会社が設立されている可能性があるので、ちょうどよいかもしれません。
そんな独習PHP第4版ですが、やはり、目新しい情報がいくつかありましたので、報告させて頂きます。
[Just-In-Time]
Just-In-Time (以降JIT)って知っています?トヨタカンバン方式で利用されているものではありません。これ、 PHP8 からあらたに加わった機能です。
PHPは インタプリタ言語 だと多くの人が知っていますが、PHP8からは、インタプリタ言語とは言えなくなるような機能が追加されました。それが、 JIT です。
インタプリタ言語は、毎回1行ずつ翻訳しますが、JITは内部的に一括翻訳します。一括翻訳されたコードはメモリ上に保存して再利用されるので、実行効率が大幅に向上します。その向上した性能は、以前の3倍という計測もあるぐらいです。もし、PHP8以前で運用しているグループがあるのでしたら、PHP8へバージョンアップすべきでしょう!
[BOM]
以前のブログで、PHPのコーディング規約を紹介しましたが、その中で、「」という記述があります。それは、 PSR の規約を踏襲したモノなのですが、どのようなものなのでしょうか? ChatGPT に聞いてみました。
Byte Order Mark (BOM) とは、テキストファイルの先頭に置かれる特別なバイトシーケンスで、ファイルのエンコーディングやバイト順序を示すために使用されます。BOMは主に UTF-8, UTF-16, および UTF-32 のエンコーディングで利用されます。
■BOMの主な目的
?エンコーディングの識別:
BOMは、テキストファイルがどのエンコーディングで保存されているかを示すために使われます。たとえば、UTF-8では EF BB BF の3バイトがBOMとして使われます。
?バイト順序の指定:
UTF-16やUTF-32では、BOMがバイト順序を指定します。例えば、UTF-16では、リトルエンディアン(LE)の場合は FF FE、ビッグエンディアン(BE)の場合は FE FF となります。
■代表的なBOMのシーケンス
・UTF-8: EF BB BF
・UTF-16 LE: FF FE
・UTF-16 BE: FE FF
・UTF-32 LE: FF FE 00 00
・UTF-32 BE: 00 00 FE FF
■使用上の注意
BOMがあることで、ファイルのエンコーディングを自動的に識別できるため、特に異なるエンコーディングのファイルを扱う際に便利ですが、いくつかの注意点があります。
一部のプログラムやシステムは、BOMを正しく処理できない場合があり、表示や処理に問題を引き起こすことがあります。
BOMが含まれるファイルを処理する場合、余分なバイトが出力されたり、ファイルの先頭に不必要な文字が現れることがあります。
■まとめ
BOMは、エンコーディングの識別やバイト順序の指定に役立つ特殊なバイトシーケンスです。テキストファイルの互換性や正しい解釈を確保するために、BOMの存在とその影響を理解しておくことが重要です。
一部のプログラムやシステムでは正しく処理されないという記述がありますが、PHPもその中に含まれます。PHPプログラムを BOM ありで保存すると、以下のような誤動作が発生します。
1)プログラムエラー
2)文字化け
3)セッションやクッキーの障害
4)ファイルの互換性の問題
5)パフォーマンス
以上も、ChatGPTから聞いた内容なのですが、BOMをつけてPHPプログラムを保存すると大きな問題が発生しそうです。なお、私が愛用している、 秀丸 ですが、デフォルトBOMは付けない設定です。そのため、今までこのようなことで困ったことはありません。
[あとがき]
この間、 静的メソッド の話をし、その関連情報として、 静的プロパティ について話しましたが、それ以外に 静的変数 というのもあるようです。その部分に関して言うと、かなり混乱しています。現在のペースで読み続けていくと、今日から5日後に当該頁に達し、そのときに詳細な報告ができると思います。
機能が違うものに名称を付けるとき、明らかに違う名前で付けてもらえるとありがたいと思ったのは私だけでしょうか?
では、また!!!
【このカテゴリーの最新記事】