モデルが取得するフィールドを設定するためのベストプラクティスがあるかどうか疑問に思いました。この2つの異なるアプローチ(擬似コード)の間:
コントローラで値を定義し、モデルに送信します。
Controller::get() { $fields = ['id_user', 'name', 'etc']; Model::get_by_email($email, $fields); } Model::get_by_email($email, array $fields) { return fetch('SELECT $fields FROM user'); }
modelメソッドは、取得するフィールドを定義します。
Controller::get() { Model::get_by_email($email); } Model::get_by_email($email) { $fields = [self::ID_USER, self::NAME, self::ETC); return fetch('SELECT $fields FROM user'); }
アプローチごとに異なる長所と短所があります。どう思いますか?