menu
書いてる野郎
orebike@gmail.com
つまり new、 Java な感じ
$hoge = new Hoge();
アクセス修飾をつける
class Hoge{ public $piyo = "ぴよ"; }
public を外部から使う $
が付かないのがポイント
$hoge = new Hoge(); echo $hoge->piyo;
内部で使う。this から引っ張る。
class Hoge{ public $piyo = "ぴよ"; public function dododo(){ echo $this->piyo; } }
作るとき
class Hoge{ const PIYO = "ぴよ"; }
ドルいらないのがポイント
アクセスするとき
echo hoge::PIYO;
PHPのconstとは再代入できないという意味ではなくて、宣言は変数代入ではなく完全なコードの字面に対するラベル付けのように動作する。
PHP 5.6 以降なら配列等も取れるようになっている。
なのでconstに取れるのはコードのリテラル表記で表現できるプリミティブな値のみで参照値はとれない。
つまり文字列と数値しかとることができない。オブジェクトだけでなく、配列や連想配列も不可。連想配列が使えないのはかなり不便だ。
自身の定数にアクセスする場合は self
キーワードでアクセスする
$piyo = self::PIYO;
class Hoge{ public function fuga($a){ } }
定数とは似ているが、共通して再代入できる何かを作りたい時に何か。 現実問題として実用的なプログラミングで使うかと言うとあまり機会が無い。
フレームワークとかで柔軟かつトリッキーな動きが必要になる場合に使う可能性はある。
class Hoge{ public static $piyo; }
$p = Hoge::$piyo;
クラス自身をPHPではselfキーワードで使う。
class Hoge{ public static $piyo; public function fuga(){ echo self::$piyo; } }
class Hoge{ public static function piyo(){ } }
Hoge::piyo();
クラス自身をPHPではselfキーワードで使う。
class Hoge{ public static function piyo(){ } public function fuga(){ self::piyo(); } }