今までは、配列で渡してたんですが、違和感があるので、どうにか__constructに渡した形と同じように _initにも渡せないかなと考えて、以下のようにしました。
意図通りに動いてくれています。5個以上パラメタがあるときも稀だと思うので、5個までにしています。増えたら増やせばいいかなと。これで違和感なく使えるようになってすっきりです。
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()
{
// 初期化処理するときはこちらで
}
}