エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


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を学ぶ際にはオブジェクト指向を学ぼう」という記事も書いていますので、参考になれば、と思います。

 - PHP・Smarty・ECCUBE

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Comment

  1. okey より:

    アロー演算子といえば、CakePHPのModelにアクセスするのに、やたら登場していたような。

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

ECCUBEの問い合わせフォームに任意の値を引数として渡す方法

ECCUBEのお問い合わせフォームに値を固有の情報を送りそれに基づいて処理をする方法を解説。ボタンの設置、受け取り側のテンプレート、プログラムのサンプルソースを提供。

CentOS6、7のPHPを5.3から5.6、7.0、7.1にバージョンアップする手順の解説
CentOS6、7のPHPを5.3から5.6、7.0、7.1にバージョンアップする手順の解説

CentOS6系、7系のPHPバージョンを5.3から5.6、7.0、7.1にアップする作業手順と解説。yum updateコマンドを使い作業時間は約10分。コマンドの解説や引数の意味なども解説しているので役に立つはず。

フォルダを指定してファイルのパーミッションを変更するプログラム

フォームからフォルダ、パーミッションを指定しパーミッションを変更するサンプルプログラムの解説です。

PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方
PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方

PHPのスクレイピングライブラリ「PHP Simple HTML DOM Parser」の使い方を解説。要素を取得する方法、そこから属性を取得する方法を解説。また、マニュアルにはない注意点なども解説。

PHP画面が真っ白 header(“Location: $url”);

PHPの開発で header(“Location: $url”);を使うと画面が真っ白になる不具合が出る場合もあります。

XML形式の値を配列形式に変換・PHPでは simplexml_load_string()
XML形式の値を配列形式に変換・PHPでは simplexml_load_string()

XMLとは「Extensible Markup Language」の略でテキストベースのデータフォーマット。XMLをPHPで配列に変換するWebツールの紹介とその処理「simplexml_load_string()」関数についての解説。

リダイレクトループが原因で「ERR_TOO_MANY_REDIRECTS」「このページを表示できません」が出たときの対策12事例+α

リダイレクトループ、自動転送設定ループの原因の解説とその対応方法を含め事例 12例を挙げて説明。

ECCUBEでカード決済NGの受注情報をマイページ購入履歴に表示しない方法解説

ECCUBEでカード決済に失敗しても購入履歴一覧に注文情報(受注情報)が表示される問題への対処方法を解説。受注情報レコードの作成の流れとステイタスについても解説。

ECCUBEの管理画面のSSL設定をインストール後に変更する方法

ECCUBEをインストールした後から管理画面のSSL設定を変更する方法を解説します。config.phpファイルのHTTPS_URLとADMIN_FORCE_SSLの値を変更すればOK。

PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法
PHPでスクレイピング。phpQueryとphp-simple-html-dom-parserの比較と設置方法

「PHP スクレイピング」で検索すると「phpQuery」ばかりヒットするが、10年以上も放置されている。なので今も開発が続いている「PHP Simple HTML DOM Parser」をオススメする。