cOAPerator, а что за ошибка? Не "Warning: Cannot modify header information - headers already sent by .." случайно?
Если это так, то просто надо убрать все echo и print (print_r) в коде. Я обычно на стадии отладки добавляю такие команды, чтобы отслеживать, что где и как выполняется. Именно они и мешают.
Как вариант, попробуйте заменить
header("Location: /");
на
echo '<script>window.location.href = "/";</script>';
Это, конечно, велосипед, но проблему должно решить. Хотя я бы не стал так писать :)
PHP ООП Передача переменных из дочернего класса в родительский абстрактный
(Ответов: 16, Просмотров: 3447)
- 10.07.2013 21:03
- 10.07.2013 21:29
OKyJIucT, да именно Cannot modify header information...
редиректить после разлогивания яваскриптом это нонценс
вопросто как раз в чтом что можно придумать чтобы после разлогивания, юзера со страницы в личном кабинете отправлять на нужную страницу, например на главную сайта.
либо как изменить логику, чтобы работал header("Location: /"); либо чтобы отпала неоходимость редиректить.
я уже голову сломал )Последний раз редактировалось cOAPerator; 10.07.2013 в 21:31.
- 10.07.2013 21:35
cOAPerator, может, проверять на странице кабинета, залогинен ли юзер. если куков или сессии соответствующей нет - редиректить на главную. Либо вывести сообщение "Данная страница доступна только для авторизованных пользователей. Пожалуйста, авторизуйтесь" и ссылку на страницу с авторизацией. Во втором случае и редирект никакой не нужен будет, да и юзер не будет недоумевать, Если сессия кончится, и его вместо кабинета будет посылать на главную))
- 10.07.2013 21:59
так и делал, когда писал сайт в процедуре, и если не сессия заканчивалась, редиректил на главную.
в ООП подходе так не получается, так как страница генерится несколькоми классами. и до редиректа грузится часть страницы.
вот нехотю так делать ) душа не лежит ) - 12.07.2013 16:32
Какая ошибка? То что отправлен Header? А зачем Вы лепите инклуды с шаблоном в то, что у Вас является моделью? Использовать абстрактные классы в PHP это еще не значит, что Вы соблюдаете парадигму MVC.
PHP код:protected function get_header($easytooltip){
//добавил это
$title = $this->title;
$meta_description = $this->meta_description;
$meta_keywords = $this->meta_keywords;
include_once ("template/hyperione/meta.php");
include_once ("template/hyperione/header.php");
}
- 12.07.2013 20:06
согласен, целиком и полностью, но.. пока я не пытаюсь ее соблюсти.. по крайней мере на начальном этапе переписывания всего сайта с процедурного стиля в ООП.
пока я пытаюсь освоить логическую составляющую этой парадигмы и при переписывании сайта осваиваю возможности ООП.
А так как многое из того, что написано в процедуре, пока не укладывается в мое понимание "как написать в ООП" то приходится задавать вопросы.
В конечном счете получится полностью написаный движек сайта с соблюденной парадигмой ООП.
не хотел так много писать, но пришлось, видимо это не так очевидно с 1 поста. - 17.07.2013 13:15
cOAPerator, думаю тогда заодно познакомиться стоит с SOLID . это относиться по большей части не только к ооп, но и вообще к программированию. Для начала тебе бы посоветовал соблюдать S и L . (single responsibility principle)Принцип единой ответственности - когда один класс выполняет только одну операцию, и буква L когда наследники не изменяют поведение родителя никаким образом, а только дополняют и расширяют его
в первом случае S
и твой класс уже его нарушает, у него ответственность формирование header сайта, сбор данных и обработка их, и хранение в себе до вывода, следовательно тебе нужен еще один класс например headerWriter который принимает класс header и берет из него данные и правильно отображает
Что-то то в в таком стиле
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Передача переменных в функциях | Web программирование | 3 | 11.01.2013 16:10 |
Требуется помощь с настройкой вывода дочернего элемента в меню Joomla | Joomla | 6 | 12.12.2012 19:50 |
Курс Настройка шаблона WordPress премиум-класса Striking | Дизайн сайтов, графика | 1 | 17.10.2011 01:22 |
Быдлодизайн, как особенность коммерчески успешного продукта эконом класса | Оффтоп и свободные темы | 5 | 17.06.2011 13:42 |