こんにちはーむちょこです。
技術ブログを書きながら言うのもなんですが、私は日頃から公式ドキュメントを推しています。
誰でも無料で読めるし、ほぼほぼ正しいことが書いてあるし、発信が断トツで早いし(当たり前ですが)。
そんなことを言っているうちに「 PHP の公式ドキュメントは初学者にはハードルが高いのでは?」という声もちらほら届くようになってきたので、それならそのハードルを低くしよう!ということでこの記事を書いてみました。
公式ドキュメントってどこにあるの?
日本語のマニュアルはこちらにあります。
https://www.php.net/manual/ja/
公式サイトの「 Documentation 」をクリックして、「 Japanese 」を選択すれば出てきます。
ただこのページから目的のページを探す人ってかなり少ないと思います。忘れてください。ぽかん。
実際には、ブラウザのアドレスバーに「php.net 関数名」と入れて検索したり、公式サイト内の「 Search 」フォームに関数名やクラス名等を入れて検索するのがおすすめです。


どういうときに使うの?
PHP の公式ドキュメントの場合は、慣れない関数に出会ったときや、一見正しいコードに見えるのに期待通りに動かないとき等に辞書的に使うのがおすすめです。
たとえば PHP で日時を扱いたいとき、他の人のコードを見ると strtotime() と date() を組み合わせて使っている人がいたり、 DateTime クラスを使っている人がいたりすると思います。
一見同じことができそうだけど、どちらを使えばいいんだろう?と迷ったらぜひ公式ドキュメントを見てみてください。
https://www.php.net/manual/ja/function.date
https://www.php.net/manual/ja/class.datetime
どんなことが書いてあるの?
対応バージョン
ページタイトルの下にはまず、その関数やクラスが使用できる PHP のバージョンがかかれています。

「PHP 5 >= 5.2.0」は、 PHP 5.2.0 以上の PHP5 で使えるという意味で、
「PHP 7, PHP 8」は PHP 7, PHP 8 であればマイナーバージョンは問わずに使えるという意味です。
機能の簡単な説明
関数の場合は、バージョンの下にその関数が何をするものかが簡潔に書かれています。


関数の使い方
関数の場合は、「説明」セクションを見るとその関数のパラメータや返り値をざっくりと把握することができます。
もっと詳しく確認したいときは「パラメータ」「返り値」「エラー/例外」セクションを見ます。

使用例
「例」のセクションを見ると、公式の使用例を確認できます。

また、ユーザが発見した注意点などは「User Contributed Notes」から確認することができます。

警告
関数によっては、警告が出ているものもあります。現在は非推奨になっているなど、警告が出ている関数を使い続けると不具合の原因となりかねないので要チェックです。

変更履歴
同じ関数でもバージョンによって仕様が変わっていることがあります。特にバージョンアップのタイミングで不具合が発生したときには、影響のある変更がないか確認します。

まとめ
公式ドキュメントがなんとなく読めるようになるようになったらいいな~と思いながら紹介してみました。
慣れないうちはとっつきにくいデザインだったり、聞き慣れない専門用語も使われていたりして、公式ドキュメントだけでは理解しづらいところもあるかもしれません。
ただ、公式ドキュメントで精度の高い情報に触れてから「わかりづらいな」と思った部分を他の人の説明で補足するようにすると「なにが正しいのかわからない」という類の混乱は減ると思います。よかったらぜひ。