6つの登録モード(登録ツリーパターン)の原理とデザインパターン

多くのクラスは、あなたのニーズに応じて、その後で取り出し、配列にオブジェクトをインスタンス化します。管理が簡単。

クラス  レジストリ{   

      保護  静的  $ストア   =   配列();     
      プライベート 静的 $インスタンス

      公共の 静的な 機能のgetInstance(){  
           場合(!ISSET(自己:: $インスタンス)){   
              自己 :: $インスタンス = 新しい自己;  
          }   
          リターン自己:: $インスタンス
      }   

      パブリック 関数   のisValid($キー){  
         リターン  array_key_exists$キー、レジストリ:: $ストア);  
      }   

      パブリック 関数   のget($キー){  
         場合$この - >のisValid($キーは))  
         を返す   レジストリを:: $ストア [ $キー];  
      }   

      パブリック  関数   セット($キー$のOBJ ){   
        レジストリ :: $ストア [ $キー ] =   $ OBJ 
      }   
    }   


    クラスのconnectDB {  

        プライベート $ホスト;  
        プライベート $のユーザー名プライベート $パスワード;  

        民間 の$ CONN 


        パブリック 関数 __construct($ホスト$ユーザ名$パスワード){  
             $この - >ホスト= $ホスト;  
            $この - >ユーザ名= $ユーザ名$この - >パスワード= $パスワード;  
        }   

        パブリック 関数getConnect(){  
             リターン にmysql_connect$この - >ホスト、$この - >ユーザ名、$この - > パスワード);  
        }   

    }   

    エコー '<BR/>' // 使用测试   
    の$ REG =レジストリ:: のgetInstance();  
    $のREG - >セット( 'DB1'、新しいのconnectDB( 'localhostの'、 'ルート'、 'マッキー' ));  
    $のREG - >セット( 'DB2'、新しいのconnectDB( '2jdc8#のX @ 0K5Dt @' '192.168.1.198'、 'テスト'、 ));  
    しますprint_r$のREG - >( 'DB1'を取得));  
    
コードの表示

デザインパターン6つの原則:https://www.cnblogs.com/sns007/p/6409961.html

おすすめ

転載: www.cnblogs.com/bneglect/p/10985767.html