Я уже некоторое время кодирую CodeIgniter, и когда я программирую или просматриваю другой код программиста, я обычно сталкиваюсь с двумя способами получения данных из ввода. Можно было бы получить ввод от контроллера, а затем перейти к модели в качестве параметра, например:
class MyController extends Controller
{
.
.
.
public function login()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
$this->load->model('User');
$this->User->login($username, $password);
}
}
class User extends Model
{
.
.
.
public function login($username, password)
{
....
}
}
Другим будет доступ непосредственно от модели входных параметров, например:
class MyController extends Controller
{
.
.
.
public function login()
{
$this->load->model('User');
$this->User->login();
}
}
class User extends Model
{
.
.
.
public function login()
{
$username = $this->input->post('username');
$password = $this->input->post('password');
}
}
Как вы думаете, что лучше? Я склоняюсь к первому, поскольку он дает Модели больше независимости, но я вижу второй метод в примеры кодов и других разработчиков. По общему признанию, второй метод короче, особенно если вы принимаете 5-10 полей ввода.