コロンっておいしいよね(スコープ定義演算子)
ちっさい頃、中のクリームを指で押し出して食べてた(汚い)
いや、食べてたけども。
今回はその話ではないのです。
今日も今日とてPHPをさわっていたら
あらまぁ不思議、 ::(コロン2つ)並んでたのですよ。
$hoge = $foo->fetchAll(PDO::FETCH_COLUMN, 0);
こんな感じでPDOの中では見たことがあったんだけど、
PHPの中では見たことがなくて!調べてみたー
参考サイト:【 ほでなすPHP 】 PHPの基本 -> クラス
ここによると、
「インスタンスを生成しなくても、クラスのメンバ関数(クラス関数という)を使うことができる」そうな!
リンク先にも書いてあるけど、こっちにもサンプル書いとく。
<?php class hoge { function foo() { print('Hello World!!!'); } } hoge::foo(); //Hello World!!!が表示される
こんな感じ。
:: 演算子(スコープ定義演算子)というらしい。コロンコロン演算子じゃないのね
通常だとインスタンスオブジェクトを生成しないと
クラスのメンバ変数やクラス関数は使えないんだけど、
この ::(コロン2つ)を使えはクラス関数だけは使えちゃうのです!
注:メンバ変数は使用不可。メンバ関数の中でクラスのメンバ変数を参照するのもできないよ
便利なものもあるもんだねー