Опытные коллеги, подскажите. Я разрабатываю небольшой движок для сайта на основе MVC. У меня есть набор контроллеров, моделей и вьюшек, все как полагается. Но есть проблема с дублированием методов. Конкретнее - у меня есть контроллер UserController у которого есть экшн checkUser, который обращается к модели User::checkUserHash которая просто вытаскивает строку пользователя из базы по id куки пользователя. Вот код метода сheckUserHash модели User
public static function checkUserHash($cookie_id)
{
# соединение с БД
$db = DB::getConnection();
# Проверяем хэш куки на совпадение значение в БД
$query = $db->query("SELECT * FROM users WHERE user_id = '".$cookie_id."' LIMIT 1");
$query->setFetchMode(PDO::FETCH_ASSOC);
$data = $query->fetch();
return $data;
}
И у меня есть контроллер LoginController у которого тоже есть экшн checkUser который обращается к модели Login::checkLogUserHash , так вот в методе Login::checkLogUserHash мне нужен абсолютно такой же функционал, как и в методе User::checkUserHash, получается два одинаковых метода с разным именем.
Конечно можно просто подключить файл модели User к контроллеру LoginController и использовать его методы, но насколько я понимаю это противоречит философии MVC . Что у каждого контроллера должна быть своя модель и вьюшка.
Подскажите как быть?
Controller:
<?php
class Controller {
public function checkLogUserHash()
{
// \Login::checkLogUserHash();
}
}
UserController
<?php
class UserController extends Controller {
}
LoginController
<?php
class LoginController extends Controller {
}
далее думаю все понятно:
$userController = new UserController();
$userController->checkLogUserHash();
$loginController = new LoginController();
$LoginController->checkLogUserHash();
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Есть ли способ узнать подробную информацию о базе данных, используя PHP или MySQL запрос? Интересуют базовая инфа, Размер БД, количество записей,...
Имеется тема Impreza, нужно подключить файл дочерней темы в подпапке /framework/functions/widget_areasphp
Существует ли какой-то способ сбросить внутренний счетчик массива? (ну или как оно называется, не знаю)