логика и представление

Mondain

Новичок
логика и представление

Я хочу разделить пхп и хтмл, не использую шаблонизаторы. А только чистый пхп код.
Проблема заключается в хтмл коде, не дает использовать header();. Как это обойти?

PHP:
function __autoload ($class_name) {
	require_once ("classes/" . $class_name . ".php");
}

$GetNews = isset($_GET['news']) ? $GetNews = $_GET['news'] : $GetNews = "view";
$GetCategory = isset($_GET['category']) ? $GetCategory = $_GET['category'] : $GetCategory = false;
$GetUser = isset($_GET['user']) ? $GetUser = $_GET['user'] : $GetUser = false;

$PageNewsInterface = new PageNewsInterface ($webHost, $dbUser, $dbPwd, $dbName);
$GetNews = "ViewPage".$GetNews;

if (method_exists($PageNewsInterface, $GetNews)) {
	$PageNewsInterface->$GetNews();
}

include_once ("templates/header.php");
//  Как вот здесь вывести центр сайта?
include_once ("templates/footer.php");



class PageNewsInterface {
	function __construct ($webHost, $dbUser, $dbPwd, $dbName) {
		$this->sql = new Mysqli ($webHost, $dbUser, $dbPwd, $dbName);
		$this->News = new News ($this->sql);
		$this->Admin = new Admin ($this->sql);
		$this->NewsCategory = new NewsCategory ($this->sql);
	}

	function ViewPageView () {
		$DataNews = $this->News->selectAll();
		include_once ("templates/newsview.php");
	}

	function ViewPageDel () {
		header ("Location: admin.php");
		exit();
	}
}
 

Апокалипсис

тех дир matras.ru
Как вариант -> Собирать весь html в переменную и выводить в самом низу страницы :)
И FAQ почитай: phpfaq.ru/header
 

Mondain

Новичок
Автор оригинала: Апокалипсис
Как вариант -> Собирать весь html в переменную и выводить в самом низу страницы :)
И FAQ почитай: phpfaq.ru/header
Эту статью я читал и знаю.
Тоесть парсить хтмл текст?
 

Фанат

oncle terrible
Команда форума
непонятно, в чем проблема.
"хтмл код" НИКОГДА не мешает использовать header()
просто потому, что они никогда не пересекаются.
приложение либо что-то выводит, либо делает перенаправление. ведь если ты хочешь загрузить другую страницу, то зачем на эту что-то выводить?

-~{}~ 07.11.07 16:44:

тем более непонятна проблема в свете вопроса "логика и представление".
Выполнил сначала логика, а потом, в зависимости от неё, либо сделал редирект, либо вывел представление. все же очевидно.

То есть, вообще в любом приложении можно легко сделать редирект, а уж в том, где разделена логика и представление - вообще нефиг делать.
что-то ты не так разделил, видимо
 

Mondain

Новичок
После удаления файла, я хочу перенаправить человека на начальную страницу. Но ругается постоянно на хедеры.
 

Фанат

oncle terrible
Команда форума
значит, надо разделить логику и представление.
сначала логика - потом представление. а не наоборот
 

Mondain

Новичок
Автор оригинала: triumvirat
лишние 18 символов
Если лишние 18 символов, так покажи как упростить. Меньше слов, больше дела.

-~{}~ 07.11.07 17:41:

Автор оригинала: *****
значит, надо разделить логику и представление.
сначала логика - потом представление. а не наоборот
Я вот понимаю это, но не могу реализовать :(
 

AmdY

Пью пиво
Команда форума
А только чистый пхп код.
Я так и не понял, где чистый РНР код, а в include_once ("templates/header.php"); нет не трочки HTML?
У тебя проблемма в конструкторе, зачем тебе сразу подключатьвсе блоки, а только после этого проводить основное действие, видно там что-то выплёвывается, что мешает отсылке хедера. А за название "PageNewsInterface" вообще растреливать нужно.
 
Сверху