Духовность™
Продвинутый новичок
Вопрос по модели и проверке значения )
Есть такой код:
если мы на минуту представим, что этот код у нас выступает в качестве контроллера в системе MVC, то кто-то должен заниматься проеркой в блоке else. Либо сам контроллер:
либо некоторый набор функционала, известный как модель:
Тут у общественности мнения однозначного нет, поэтому меня больше интересует построение модели в приведенной концепции. Посмотрите на код:
имеет ли право модель быть так написана, когда при инициализации объекта userModel() не создается объект конкретной уже существующей сущности, а просто инстанцируется класс с функционалом для работы с данными модели "пользователь"? Следовательно, получается можно использовать модель как хочешь:
Я доходчиво объяснил? 
Есть такой код:
PHP:
if (!empty($_POST['submit']))
{
if (empty($_POST['user_login']))
{
$_HTML['err'][] = 'Вы не ввели логин';
}
else
{
// тут надо лезть в базу и проверять наличие в базе пользователя
//с логином = $_POST['user_login']
}
}
PHP:
$db->query('SELECT * FROM users WHERE login = "?"', $_POST['user_login']);
PHP:
$userModel = new userModel();
if ($userModel->getDataByLogin($_POST['user_login'])){
echo 'Логин занят';
}
PHP:
$userModel = new userModel();
if ($userModel->getDataByLogin($_POST['user_login'])){
echo 'Логин занят';
}
// или можно так:
$userModel = new userModel();
// инициализируем по какому-то полю, в данном случае по user_login
$userModel->initByField('user_login', $_POST['user_login']);
// получаем данные пользователя
if ($userModel->getData()) {
echo 'Логин занят';
}
PHP:
$userModel = new userModel();
// Создать пользователя
$userModel->create($_POST);
// Получить его данные
$userModel->getData();
// Удалить пользователя
$userModel->delete();
PHP:
$userModel = new userModel();
// Инициализируем, т.е. назначаем пользователя с id = $_GET['id_user']
$userModel->setId($_GET['id_user']);
// Получаем его данные
$userModel->getData();


