2010-06-28 3 views
3

Что делает хорошую модель MVC в CodeIgniter. То, что делает моя «пользовательская» модель, в основном использует одни и те же активные функции записи из библиотеки базы данных. Единственное отличие состоит в том, что вам не нужно указать таблицу базы данных и просто сделать:CodeIgniter: что делает хорошую модель

$this->usermodel->where('username','test'), 
$user = $this->usermodel->get(); 

Это чувствует своего рода неудобно, так как его не делает это намного проще.

Другой способ, которым я думал, заключался в том, чтобы модель пользователя была как пользовательский объект с функцией загрузки. Но это не эффективно при загрузке более 1 пользователя.

Могу ли я получить несколько советов от вас, ребята? Благодарю.

+0

Почему мой вопросу получить деградировал? Было ли это недостаточно ясно? – Jens

+0

Вы можете это знать, но идеальная модель-контроллер должна быть толстой, а Skinny контроллеры. Сделайте все «мышление» в модели! :) –

+0

Я бы сказал: хорошая схема базы данных. –

ответ

0

Я думаю, что «намного проще» приходит, когда вы работаете с большими наборами данных и имеете множество сложных запросов. Насколько я понимаю, если вы работаете над чем-то, что относительно просто, вы можете отказаться от модели и сделать свои вызовы db внутри контроллера. Не существует «лучшей практики» как таковой, а скорее личных предпочтений.

Архитектура MVC обеспечивает лучшую разметку кода и может обеспечить лучшую структуру и повторное использование кода, но вам не следует следовать идее MVC на письмо, чтобы выполнить много вещей - опять же это сводится к предпочтение.

+0

Я знаю, в чем смысл использования шаблона проектирования MVC. Я просто просил несколько советов о самой модели. – Jens

0

Цель состоит в том, чтобы абстрагировать всю вашу логику приложения в Модели и использовать контроллеры просто для «управления» вашим веб-интерфейсом и посредничества между веб-интерфейсом и моделями.

Модели являются вашей программой, вы должны иметь возможность довольно легко полностью перепроектировать пользовательский интерфейс, не влияя на модели приложений.

2

Хорошим советом было бы, не позволяя моделировать представление друг с другом прямо, вы всегда (или когда это возможно) должны использовать контроллер для такого общения.

Я слышал также мнение о том, что в ваших моделях плохая практика иметь логику ... Я не знаю, верно ли это, но это правило, которое я много раз нарушал (если кто-то знает больше о предмет, пожалуйста, исправьте меня).

И, конечно, всегда иметь в виду, что модель должна быть многоразовой, поэтому я пытаюсь дать общее решение некоторых проблем, а не конкретных приложений ... с другой стороны, контроллер, похоже, является отбрасывающим компонентом, поэтому здесь вы должен делать уродливые вещи, которые никогда не будут использоваться в других проектах ...

Надеется, что это помогает немного

+0

Я не спрашивал о MVC, я спрашивал о конкретных функциях модели. – Jens