PHP – staticで機能をまとめる

 ある程度の規模のシステムでファンクション名を決めていると、ファンクション名が被ることがある。
 そう言うとき、機能クラスを作って、そのstaticメソッドとして定義することで、クラス名::メソッド名でコールすることが出来るのでちょっと便利。

 staticは、クラスをインスタンス化していなくても呼び出せる物で、変数とメソッドについて定義できる。

class ORDER{
public static $PAYMENT_METHODS = array(‘CARD’, ‘PAYPAL’, ‘CHECK’);
public static makeList($list){

}
}

class INVOICE{
public static makeList($list){

}
}

みたいな定義をしておくと、同じmakeList命令をORDERのmakeListとINVOICEのmakeListに明示して使い分けることが出来る。
非staticだと、

$order = new ORDER();
$order->makeList($order->PAYMENT_METHODS);
$invoice = new INVOICE();
$invoice->makeList($list);

のように、newを使ってインスタンスを作らなければならないけど、static宣言している場合は

ORDER::makeList(ORDER::$PAYMENT_METHODS);
INVOICE::makeList($list);

みたいに呼び出せるので、コードが楽になる。

(80)


カテゴリー: LAMP[Linux, Apache, MySQL, PHP], PHP   パーマリンク

コメントを残す

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