アフィリエイター上岡の日記です。『初めてのPHP(PHP7対応)』を読んだ感想TwitterFacebookはてブLINEPocket以前、PHP7に対応した『初めてのPHP』についてざっくりレビューをしました。オライリーの「初めてのPHP」はPHP初心者にとって最高の教科書なのか?レビューのテイストとしては、PHP始めるなら別の書籍の方がいいよという雰囲気になっています。この『初めてのPHP』をしっかりと読み込んだところ、私が学び損ねていた知識なんかもふんだんにありました。PHP使えてると思ってたんですが、まだまだのようです。いうことで、『初めてのPHP』を読み込んで知った新発見(私にとっての)をまとめておきます。したら、参考になるかも。PHP(PHP7対応)変数名に顔文字が使える(32ページ)実用性は低いんですが、「変数名の最初の文字に数字は使えない」というルールさえ守れば、後はかなり自由度が高いんだなぁと。顔文字が使えるのは知りませんでした。いう風に書く条件式の意図(44ページ)他の人が書いてくれたライブラリを使ってる時にたまに見かける書き方。その意図がよくわかってなかったんですが、数字を左辺に書くことで「==」を「=」と書き間違えた時にPHPがエラーを吐いてくれるという意図があったんですね。$style_index;}するという方法。本書の例のようにCSSを切り替えたいときは、:nth-child(odd)を使いますが、こういう風に0と1を切り替える発想はなかったです。'</td></tr>';配列の要素をそのままテーブルのtdに入れたい時に便利ですね。関数内部からグローバル変数へアクセスする方法(88ページ)関数の引数として渡さない限り、関数の中ではグローバル変数は読み込めないと思ってました。読み込めるとは!引数と返り値に型宣言ができる(91ページ)C言語やJavaと違って、PHPは型を意識しないユルふわさが特徴です。引数や返り値に型宣言する方法もあるということを知りませんでした。普段は意識しなくても、どうしてもって所では型宣言するという選択肢があるって覚えておいて損はないです。クラスの中の$thisの意味が腑に落ちた(98ページ)なんとなく雰囲気で使ってた$this。この項で「$thisは、この関数を呼び出しているクラスのインスタンスを参照する特別な変数です。」という説明と、その後のサンプルコードでストンと腑に落ちました。当たり前のことを言ってるだけなんですが、私の中でこれまでモヤモヤしてたものがクリアになった気がします。いうプチブレイクスルーがあるから、プログラミングは辞められないのかもしれない。null合体演算子(117ページ)PHP7で導入された新しい書き方。無理に使わなくてもisset()書けばいいかな。検証したりサニタイズしたりできるfilter_input()関数(123ページ)filter_input()関数は、GETやらPOSTやらで受け取った値が整数なのか、浮動小数点数なのか、真偽値なのか、妥当なe-mailアドレスなのか、といった検証を行うことができちゃいます。除去フィルタを使うと、サニタイズやURLエンコードもできちゃう。checkdate()関数(127ページ)2月31日とか11月31日といった存在してはいけない日付かどうかをチェックできるcheckdate()関数。うるう年とそうじゃない年の2月29日の有効性チェックとかもできるので、役立つ場面があるかも。'wb');と書くと、printで出力するときと同じ場所へ出力を送れるようになるそうな。使いどころがよくイメージできないけど、へぇーって思いました。ディレクトリトラバーサルを防ぐrealpath()関数(195ページ)realpath()関数を使うと「../../」みたいな親ディレクトリへのパスを無効にしてくれます。ディレクトリトラバーサル対策として手軽に使えていいですね。setcookie()関数が第7引数まで持ってるという事実(204ページ)まさかsetcookie()関数がそんなにたくさん引数指定できるとは知りませんでした。第7引数はHTTPからのみクッキーへのアクセスを許可するかどうかっていうめちゃ重要な引数。ほにゃらら」みたいなエラーが出てしまう原因は、レスポンスボディよりも前に書かなければいけないsetcookie()やsession_start()が後ろに来てしまっていること。しておくと、このエラーを回避できる。何かしらの事情でhtmlタグの後にsession_start()を書かなければいけないとき、助かる。cURLを使ってPHPファイルから外部URLへPOST送信できちゃう(229ページ)POSTメソッドって、登録やメール送信情報なんかをフォームから送って、自分のWEBアプリで受け取る、という使い方が一般的。時には外部にPOSTしたくなるもの。そんなときにcURLを使えば割とサクッと外部にPOST送信出来ちゃいます。設定ファイルのサンプル[first_section]hobby=fishingfavorite_game=monster_hunter_worldみたいなkey=value構成のファイルを読み込み、連想配列に変換してくれます。localhost:8000とコマンドを打つと、カレントディレクトリをルートにしたWebサーバが稼働した状態になるそうな。server」コマンドでサーバーを立ち上げてたけど、普段は「C:\xampp\htdocs」内にフォルダを作って、XamppのApacheを起動して動作確認してました。超絶便利!付箋がいっぱいになったPHP7本そんなこんなで、PHPわかったつもりになってたけど、まだまだ知らないところだらけという事が判明しました。頼りにしていたパーフェクトPHPがPHPバージョンが5.3くらいの本ということもあり、その後のPHPの色々に関しても弱いことも露呈。ま、何が言いたいかというと、「伸びしろだらけですね」ということです。PHP7時代のトレンドをキャッチアップする意味でも、自分のPHP力の棚卸をする意味でも、有意義な読書となりました。PHP(PHP7対応)この記事を読んで、「何それ?知らねー」っていう部分が多ければ、一読の価値があるかもしれません。本の購入はコチラ先日「プログラミングを学んでWEBアプリが作れるようになりたいです。おすすめの本を教えてもらえませんか?」と後輩から頼まれました。後輩の本気さがうかがえたので、こっちも本気でオススメの本を選びました。その時選んだ本と、選んだ理由について記事にまとめました。PHP初心者の方の参考になると思います。独学でプログラミングを身に着けた僕がおすすめするPHP入門書5選~PHPを本で学ぶならこの順番で最後まで読んでいただき、ありがとうございます。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。企業のブランディングを高めるために読んだ本。「売る」から、「売れる」へ。読書フジテレビのドラマが好きならFODプレミアムを無料で試してみてホームページ作るときは、iPhoneでちゃんと見れれば8割がたOK!?RECOMMENDこちらの記事も人気です。まずい?」の真相を探るべく買ってみました。2020ラッシュガード選びの5つのポイント便利で役立つPerl好きな私🐪ランキング人気ブログランキングに参加しています。よろしければ、1日1回応援クリックをお願いします。