phpで子クラスへ__constructのパラメタを渡す

今までは、配列で渡してたんですが、違和感があるので、どうにか__constructに渡した形と同じように _initにも渡せないかなと考えて、以下のようにしました。

意図通りに動いてくれています。5個以上パラメタがあるときも稀だと思うので、5個までにしています。増えたら増やせばいいかなと。これで違和感なく使えるようになってすっきりです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
abstract class Hoge_Model_Abstract
{
    final public function __construct()
    {
        // ここに共通初期化処理
 
        if (func_num_args() != 0) {
            list($param1, $param2, $param3, $param4, $param5) = func_get_args();
        }
        $this->_init($param1, $param2, $param3, $param4, $param5);
    }
 
    protected function _init()
    {
        // 初期化処理するときはこちらで
    }
}

コメント 停止中

%d人のブロガーが「いいね」をつけました。