タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

traitとsingletonに関するmimosafaのブックマーク (2)

  • PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ

    PHP5.4 alpha1がリリースされた。このリリースでは、PHPのオブジェクト指向言語の新たな機能としてtraitと呼ばれる機能が追加された。PHP5.4におけるtraitとは、型に影響を与えずにクラスに適用できるメソッドとプロパティの集合である。 早速PHP5.4 alpha1をインストールし、traitを使ってシングルトンパターンを実装した。このコードでは、クラスの継承関係に影響を与えずにシングルトンパターンをモジュール化している。 <?php trait Singleton { protected function __construct() { } static function getInstance() { static $obj = null; return $obj ?: $obj = new static; } function __clone() { throw n

    PHP5.4のtraitを使ったシングルトンパターン実装によるtrait入門 - id:anatooのブログ
  • PHPの静的変数 (static変数) の挙動まとめ - Qiita

    PHP には「静的変数」 (static 変数) と呼ばれる言語仕様があります。概要は PHP マニュアルの以下のページ PHP: 変数のスコープ - Manual を参照してください。 マニュアルでは関数内で使った場合の例しか載っていなかったので、クラスメソッド・インスタンスメソッド・trait などに使用した場合にどうなるのか調べてみました。 結論は、簡単に言うと クラス毎に独立 インスタンス間で共通 となっています。 検証過程 関数で使用した場合 これは PHP マニュアルに載っている例と同じです。関数を呼び出すたびに $num が 1 ずつ増加します。(PHP 5.1.0 - 5.5.13 で確認) <?php function testFunc() { static $num = 0; $num++; echo __FUNCTION__ . $num . PHP_EOL; } t

    PHPの静的変数 (static変数) の挙動まとめ - Qiita
  • 1