PHPのソースで見慣れない記号が出てきた・アロー演算子(->)、ダブルアロー演算子(=>)
2017/08/03
PHPのソースで見慣れない記号を調べる
アロー演算子、ダブルアロー、ビット演算子、可変変数
先日書いた PHPのオブジェクト指向についての記事「CakePHPを学ぶ際にはオブジェクト指向を学ぼう」ですが、あの記事を書きつつ思い出したサイトがありました。
アロー演算子
http://911.ddtea.com/?eid=1286712
PHPのソースに見慣れない記号が出てきたときの調べ方例
http://blog.neo.jp/dnblog/index.php?module=Blog&action=Entry&blog=pg&entry=2792&rand=561d3
PHP初心者が「何コレ!?」と思った記号4つ
http://korikorikorikori.blog.fc2.com/blog-entry-163.html
そうなのです。
「->」「=>」「::」これらの記号は、オブジェクト指向プログラミングをする際に必要となってくる記号なのです。
そのため、上記のサイトを読めばなんとなく何をする記号なのかは理解できていましたが、根本的な解決には至っていませんでした。
なぜなら、オブジェクト指向プログラミングに関する知識が足りないからです。
例えば、アロー演算子(->)。
これですが、参考サイトの一番上に書いてあるサイトは、アロー演算子の説明としては非常に秀逸な説明だと思いました。
その他のサイトは、公式サイトの説明をほぼ踏襲する形で書かれているため、何を意味しているのかさっぱり分かりませんでしたが、このサイトは、少しわかった気にさせてくれました。
それでもなお、漠然とした理解しかできないのは、オブジェクトに対する基本知識が不足しているからだ、ということにようやく気付きました。
Webサイトで簡単なプログラムを構築するだけであれば、オブジェクト指向の考え方は必ずしも必要はないものですが、PHPのプログラム記述もオブジェクト指向を重用する動きが顕著ですし、オープンソース等で提供されているプログラムのほとんどはオブジェクト指向プログラミングで記述されています。
そのため、本格的に PHPを使っていく方は、改めて、オブジェクトに関する理解を深めていくことが、PHPの理解を深めていくことにつながっていくでしょう。
ちなみに、「$$」は、可変変数というそうです。
http://www.php.net/manual/ja/language.variables.variable.php
でも、これまた公式サイトの説明は読んでも分かりません(笑)。
なので、下記のサイトなんかが少しは分かりやすく説明されていますので参考になるかと。
http://speit.blog78.fc2.com/blog-entry-56.html
http://www.kokin.rr-livelife.net/php/php_post/php_post_35.html
http://www.polidog.jp/2012/11/27/%E4%BB%8A%E3%81%BE%E3%81%A7%E6%B0%97%E3%81%A5%E3%81%8B%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9Fphp%E3%81%AE%E5%8F%AF%E5%A4%89%E5%A4%89%E6%95%B0/
実は、一番下のサイトの 1の書き方に似た書き方はよくしていたような気がしますね。
この可変変数の処理をしっかり理解したらもっと短いコードで書けそうな気がしますね。
PHPユーザのためのオブジェクト指向講座
と、いうわけで、自分だけでプログラムを作成し、利用するのであれば問題ありませんが、複数人で開発をする、ネットで提供されている情報や GitHubなどで提供されているオープンソースなどを利用してシステム開発を行うに当たっては、PHPと言えどもオブジェクト指向を学ばずに過ごすことはできないレベルになっています。
そんな方のために「CakePHPを学ぶ際にはオブジェクト指向を学ぼう」という記事も書いていますので、参考になれば、と思います。
GoogleAdwords
GoogleAdwords
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!
関連記事
-
-
ECCUBEでアップロードできない。upload_max_filesizeを設定する場所
テンプレートをアップロードする際に発生するエラー「テンプレートファイルがアップロードされていません」の対処方法。これはファイル容量の制限に引っかかっています。
-
-
GMOペイメントゲートウェイのjava.io.IOExceptionのエラー
ECCUBEの決済でGMOペイメントゲートウェイのモジュールを使ってテスト決済を行った場合の不具合、java.io.IOExceptionと言うエラーの原因と対策方法の解説です。
-
-
ECCUBEの問い合わせフォームに任意の値を引数として渡す方法
ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。
-
-
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。
-
-
PHPで特定の日間の日付を for、strtotimeで表示する
ある特定の間の日付の情報を for文、strtotimeを使って作成し、その解説をしています。
-
-
PHPで配列の値をダブルクオーテーションで囲んでimplodeでカンマ区切りにする方法
PHPで配列の値を、preg_replace関数でクォーテーションで囲み、implode関数で「,(カンマ)」で区切ってテキスト化する方法。この方法であれば配列が空でも分岐の処理は必要なし!
-
-
パーミッション(属性)一括変更ツール・WordPress最適化済
WordPressのパーミッション(属性)を一括変更するツールを作成!ファイル、フォルダのパーミッションが一覧表示でき、ファイルを選んでパーミッションの変更が行えます。
-
-
QRコード作成ライブラリ「cakePHP-QR-Code-Helper」をPHPで使うカスタマイズ
CakePHP2用のQRコード作成ライブラリ「cakePHP-QR-Code-Helper」をプレーンのPHPでも使うためのカスタマイズ方法を解説。1ファイルを設置するだけでQRコードが作れるため使い勝手がいい。
-
-
ECCUBEを開発環境から本番ドメインに変更でエラーが・パス変更について
レンタルサーバでサーバ会社から割り当てられたURLで開発し、本番公開時にドメインを当てたらエラーが!そんな場合の対処方法の解説。対処方法は簡単ですが管理画面からは対応不可。
-
-
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。
Comment
アロー演算子といえば、CakePHPのModelにアクセスするのに、やたら登場していたような。
CakePHPは MVCのオブジェクトで出来ていますからね。