0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 4

PHP + MVC

01.05.2017, 09:45. Показов 892. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток, недавно начал учить php, разрабатываю интернет магазин с MVC
Столкнулся с такой задачей:
Необходимо в шаблон header вывести имя авторизованного пользователя
К примеру вот так я получаю пользователя для личного кабинета
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
class CabinetController //Контроллер личного кабинета
{
  public function actionIndex()
  {
    //получаем идентификатор юзера из сессии
    $userId = User::checkLogged();
    //получаем информацию о пользователе из БД
    $user = User::getUserById($userId);
 
    require_once(ROOT . '/views/cabinet/index.php');
    return true;
  }
}
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class User//модель пользователей
{
  public static function getUserById($id)//получаем пользователя
  {
    if ($id)
    {
      $db= Db::getConnection();
      $sql = 'SELECT * FROM user WHERE id = :id';
      $result = $db->prepare($sql);
      $result->bindParam(':id', $id, PDO::PARAM_INT);
      //получить данные в виде массива
      $result->setFetchMode(PDO::FETCH_ASSOC);
      $result->execute();
 
      return $result->fetch();
    }
  }
}
HTML5
1
2
3
4
5
6
 //Представление
<?php include './views/layouts/header.php' ?>
   <h1>Личный кабинет</h1>
   <img src="<?php echo User::getImageUser($user['id']); ?>" alt="">       
   <p><?php echo $user['name']; ?></p>
<?php include './views/layouts/footer.php' ?>
Задача заключается в том чтобы вывести данные пользователя в header (шапку сайта)
Каким образом можно это сделать? могу ли я как нибудь обратиться к контроллеру из header? или же необходимо писать другую функцию в модели? заранее спасибо
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
01.05.2017, 09:45
Ответы с готовыми решениями:

PHP + MVC
Ну помогите начинающему понять концепцию MVC в более сложной структуре. Поясняю: почитал достаточно много статей по организации...

MVC php
Вопрос такой, Насколько это правильно &lt;?php $name = '&lt;span&gt;'.$datas.'&lt;/span&gt;'; $balance =...

PHP MVC
Всем привет!) Есть класс-маршрутизатор: &lt;?php /* Класс-маршрутизатор для определения запрашиваемой страницы. &gt; цепляет классы...

2
 Аватар для maruo
133 / 133 / 48
Регистрация: 26.04.2013
Сообщений: 1,356
01.05.2017, 11:06
Нужно обращаться не к контроллеру, вы должны были передать все нужные данные вам, в представление.
Так это выглядит у меня.

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
namespace frontend\controllers;
 
use Core;
use frontend\FrontendController;
use frontend\models\ReferalModel;
 
class ReferalController extends FrontendController implements \i\IControllers {
 
    public function __construct(){
        parent::init(); 
    }
 
    public function ActionIndex($params = []){
        if(Core::$app->user->isAuth()) {
            return $this->render('referal',[
                'userData' => $this->staticData['userData'],
                'chatData' => $this->staticData['chatData'],
            ]);
        }
        return $this->redirect('/404');
    }
HTML5
1
2
3
4
5
6
7
8
9
10
11
                  <? if(Core::$app->user->isAuth()) { ?>
                      <div class="user-info">
                         <div class="ava middle-block" style="background-image: url(<?=Html::encode($userData['user_avatar']);?>)"></div>
                         <div class="auth-block middle-block">
                            <div class="user-name"><?=Html::encode($userData['user_nickname']);?></div>
                            <a class="link logout-link" href="/logout">Выйти</a>
                         </div>
                      </div>
                  <? }else{ ?>
                        <a class="auth-link link" href="/login">Войти</a>
                  <? } ?>
Что то подобное и в Yii2, ибо за основу я брал Yii2
1
0 / 0 / 0
Регистрация: 01.05.2017
Сообщений: 4
01.05.2017, 13:40  [ТС]
Спасибо за подробный ответ, фреймворки я пока не юзал, учусь пока писать без них, но мысль уловил, попробую
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.05.2017, 13:40
Помогаю со студенческими работами здесь

MVC и php
Помогите решить проблему, нужно сделать вывод данных из формы с помощью MVC фреймворка CodeIgniter. Есть 3 файла: Код файла...

PHP MVC Route
Как настроить класс-маршрутизатор и файл htaccess для пагинации,чтобы только главная принимала параметр /?page=1 и работали остальные...

Php,MVC и htaccess
Добрый вечер уважаемые форумчане уже задавал этот вопрос ,подскажите пожалуйста как можно реализовать авторизацию .htaccess , если сайт...

MVC ajax php
Не могу понять, как мне ajax(ом) подгружать данные при подходе MVC?Куда отправлять запрос? Ajax разместил во вьюхе class...

Php,MVC и htaccess
Добрый вечер уважаемые форумчане ,подскажите пожалуйста как можно реализовать авторизацию .htaccess , если сайт сделан на MVC , то есть...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru