Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> собираем страницу 
:(
    Опции темы
bars80080
Дата 22.7.2008, 15:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



опять мутный вопрос

допустим я собираю страницу из многих модулей
скажем есть: шапка, блок меню, колонка новостей, контентная страница, ещё какие-нибудь модули типа курсов волют и т.п.
как это лучше сделать?

функционал для каждого модуля находится в этом самом модуле и выдаёт он хтмл взависимости от существующих переменных

если принять за правило, что все вычисления и запросы должны осуществиться до посылки заголовков, то получается надо вводить некую переменную, в которую дособирать весь хтмл из модулей $html .= '<тэги>'; и вывод только в конце (а ведь он может быть достаточно большим - 200-400 кб, или это ничего?)
создавать хередок или шаблоны (делал только под спецзадачи) как-то не вижу смысла, т.к. получается надо довести все переменные до конца, вызвать все эти шаблоны и пихать


не хотелось бы, чтоб меня отсылали к теории по шаблонам (итак каша в голове от многочисл.документации), что вообще считаете, как лучше произвести вывод в таком случае?

спасибо
PM MAIL WWW   Вверх
Feldmarschall
Дата 22.7.2008, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Ты, наверное, хотел сказать не "страницу", а "шаблон"?
PM   Вверх
bars80080
Дата 22.7.2008, 16:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



возможно, но собираю я всё же страницу
с уже заполненными ячейками, блоками и т.п.
PM MAIL WWW   Вверх
HackMan
Дата 22.7.2008, 19:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Я вижу несколько выходов.
Первый - это банальный. Перехватить выходной поток командой obstart(), и, пока всё не обработается, не выводить в браузер. Но при этом у тебя теряется одно из немаловажных преимуществ HTM - отображение страницы "налету", то есть пока все данные не обработаются, пользователь ничего не увидит. Можно, конечно, перехватывать не всю инфу, а только какую-то часть кода, а потом комбинировать командой ob_get_clean(), но всё-равно это не самый лучший способ, как по мне.

Второй способ понагляднее. Есть такая модель, MVC называется (Model View Controller). Там есть одна точка входа, т.е. не 10 скриптов типа index.phpshop.phpguestbook.php, а один единственный базовый скрипт index.php, который решает дальнейшую судьбу (выбирает какой из контроллеров подключить, хотя, зачастую для этой задачи создаётся дополнительный скрипт router.php, и в базовом скрипте остаётся только поключение конфига, и инициализация данных). Весь код делится на 3 логические составляющие, на какие - не сложно догадаться из названия. Все рассчёты, работа с СУБД и так далее происходят, собственно, в model (модели). View (представление), отвечает непосредственно за вывод информации. В качестве view может выступать какой-нибудь шаблонизатор. Controller (контроллеры) будут отвечать за обработку пользовательской деятельности - обрабатывают данные, полученные от пользователя ($_GET$_POST$_COOKIE, etc), решают, какие данные запросить у model (никаких рассчётов в контроллере особо не проводится) и выбирают, в какое из view передать обработанные данные

Про этот способ достаточно неплохо рассказано (и показано) здесь.

Стоит так же добавить, что этот способ используется в мощных фреймвёрках типа Zend Framework, mzz и т.д.

Это сообщение отредактировал(а) HackMan - 22.7.2008, 19:24


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
bars80080
Дата 22.7.2008, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



хм, прикольно узнать как называется то чем занимался до этого.
раньше оно правда пребывало в состоянии бардака. завтра обязательно почитаю

а как лучше поступить с независимыми модулями? те что могут подключаться в тело страницы, а могут работать и независимо?

хотя итак ясно. но хочется мнение услышать
PM MAIL WWW   Вверх
Feldmarschall
Дата 22.7.2008, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



HackMan, вот только не надо сказки рассказывать. 
все эти  index.php, shop.php, guestbook.php у тебя останутся. только вызываться будут через индекс. 
Самое большое надувательство после смарти - это ваше эмвэцэ.

Что за глупость вообще, запихивать всю логику в одну модель? гостевую с шопом, ага. очень удобно. А контроллеры у нас будут только ввод обрабатывать. обхохочешься.


PM   Вверх
bars80080
Дата 22.7.2008, 20:25 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



тов. главнокомандующий, я уже задавал вопрос, какой моделью ты пользуешься?
PM MAIL WWW   Вверх
HackMan
Дата 22.7.2008, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



bars80080
Что-то не очень понял вопроса.

Хранить их можно как угодно. зависит от особенностей проекта и/или фреймворка. Можно создать отдельную папочку modules и в ней на каждый модуль по папке, а в каждой из той папок создать реализацию контроллера, моедли и представления данного модуля. А можно создать 
три папки: modulescontrollersviews и кидать в них все модули. Однозначно лучшего варианта нет, всё зависит от потребностей. Вот была бы файловая система не иерархическая, а реляционная, было бы лучше  smile 

Как подключать модули - тоже единого решения нет. Можно например, просканировать папку modules (для самого первого варианта) и таким образом узнать о том, какие модули есть. А можно в базе данных создать табичку modules примерно следующего содержания:
  • id
  • path
  • name
  • author
Опять же всё зависит от поставленной задачи.

Если хочется иметь иерархию модулей и подключать их друг к другу (например есть модули "новости" и "фотогалерея", и надо создать один модуль "комментарии", который можно без проблем прикрутить и к первому и ко второму модулю) можно к той табличке добавить что-то вроде
  • parent
Ещё раз повторюсь, что универсального, единственно-правильного решения не существует. У меня от проекта к проекту структура данных постоянно меняется, что-то добавляю, что-то меняю. Одни изменения оправданные, другие оправданны только в рамках данного проекта.

Добавлено @ 20:38
Feldmarschall, я не говорил, что модель должна быть одна

Цитата(Feldmarschall @  22.7.2008,  20:22 Найти цитируемый пост)
все эти  index.php, shop.php, guestbook.php у тебя останутся. только вызываться будут через индекс

Я не утверждал, что скриптов станет меньше. Я сказал, что точка входа будет одна
Цитата(HackMan @  22.7.2008,  19:14 Найти цитируемый пост)
Там есть одна точка входа



Это сообщение отредактировал(а) HackMan - 22.7.2008, 20:41


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Feldmarschall
Дата 22.7.2008, 20:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Цитата(HackMan @  22.7.2008,  20:36 Найти цитируемый пост)
Я не утверждал, что скриптов станет меньше.

Может, и не утверждал, но написал.

Ладно, значит остались все эти скрипты. А что тогда лежит в model?
PM   Вверх
HackMan
Дата 22.7.2008, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(Feldmarschall @  22.7.2008,  20:42 Найти цитируемый пост)
Может, и не утверждал, но написал.

значит или я неправильно выразился или ты меня не так понял

Цитата(Feldmarschall @  22.7.2008,  20:42 Найти цитируемый пост)
Ладно, значит остались все эти скрипты. А что тогда лежит в model? 

Цитата(HackMan @  22.7.2008,  20:36 Найти цитируемый пост)
Ещё раз повторюсь, что универсального, единственно-правильного решения не существует. У меня от проекта к проекту структура данных постоянно меняется, что-то добавляю, что-то меняю. Одни изменения оправданные, другие оправданны только в рамках данного проекта.




--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Feldmarschall
Дата 22.7.2008, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Вот не надо только этих увиливаний.
Ну хоть какое-то решение вообще существует? Или, как в случае со смарти, будем сами себе рассказывать, что оно служит для разделения пхп и хтмл, и сами себе будем верить? "У нас должна быть модель, вью и контроллер, но на самом деле у нас будет индекс пхп для подгрузки конфига и роутер для подгрузки гестбуки и шопа"
Ты можешь привести пример канонического приложения с мвц? или все сведется к вызову через индекс, который мы, к радости топикстартера, назовем красивым модным словом?

Это сообщение отредактировал(а) Feldmarschall - 22.7.2008, 20:57
PM   Вверх
HackMan
Дата 22.7.2008, 21:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(Feldmarschall @  22.7.2008,  20:55 Найти цитируемый пост)
Ну хоть какое-то решение вообще существует? 

Конечно существуют. Прочитай мой предыдущий пост, адресованный bars80080, только я там опечатался

Цитата(HackMan @  22.7.2008,  20:36 Найти цитируемый пост)
modules, controllers, views

Хотел написать не modules, а models


Цитата(Feldmarschall @  22.7.2008,  20:55 Найти цитируемый пост)
Или, как в случае со смарти, будем сами себе рассказывать, что оно служит для разделения пхп и хтмл, и сами себе будем верить? "У нас должна быть модель, вью и контроллер, но на самом деле у нас будет индекс пхп для подгрузки конфига и роутер для подгрузки гестбуки и шопа"

А при чём тут вообще смарти? Мой шаблонизатор сводится к

Код

<html>
  <head>
    <title><?php echo $title; ?></title>
...


Смарти я не признаю. На смарти, пишут шаблоны на его (довольно корявом) языке, чтобы смарти их потом перегонял постоянно в PHP-код, а это куча никому не нужной работы.


Цитата(Feldmarschall @  22.7.2008,  20:55 Найти цитируемый пост)
Ты можешь привести пример канонического приложения с мвц?

Хм... Например, Wordpress, IPB если я не ошибаюсь

Это сообщение отредактировал(а) HackMan - 22.7.2008, 21:13


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Feldmarschall
Дата 22.7.2008, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



выше ты написал только, что универсального, единственно-правильного решения не существует.
И никакого не привел.
вот, допустим, у меня был сайт из 4 скриптов - index.php, shop.php, guestbook.php, news.php
как его переделать под MVC?

PM   Вверх
Fortop
Дата 22.7.2008, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  22.7.2008,  20:55 Найти цитируемый пост)
Ты можешь привести пример канонического приложения с мвц?

А что значит канонического?

MVC - это не более чем схема организации проекта, которая упрощает работу с ним.

Да, ты можешь это все сделать на отдельных файлах, понимать логику связей между ними будет несколько сложнее.

Добавлено через 47 секунд
Цитата(Feldmarschall @  22.7.2008,  21:21 Найти цитируемый пост)
вот, допустим, у меня был сайт из 4 скриптов - index.php, shop.php, guestbook.php, news.php
как его переделать под MVC

А надо?

Какие между ними связи существуют? Если ни каких... то особого смысла нет.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Feldmarschall
Дата 22.7.2008, 21:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



то есть, если я работу с БД для гостевой, новостей и шопа солью в один файл, обработку гета с постом для них же - в другой, то это получится MVC, и логика связей упростится. Я правильно понял?

Добавлено через 1 минуту и 51 секунду
И еще.
если model у меня - это структура каталога - 
Код

/
index.php
news.php
guest.php
shop.php

сами файлы - контроллеры, а вью - используемый ими Смарти, то у меня тоже MVC?

Добавлено через 3 минуты и 23 секунды
Я дофига встречаю людей, которые постоянно говорят слово MVC.
Но ни от одного я не смог добиться, что это такое, и как оно применяется в их конкретных скриптах.

Добавлено через 7 минут и 13 секунд
Цитата(Fortop @  22.7.2008,  21:23 Найти цитируемый пост)
Какие между ними связи существуют?

допустиим, общая авторизация в шопе и в гостевой. Этого достаточно?
А можно попросить пример сайта с достаточными связями для мвц?
PM   Вверх
HackMan
Дата 22.7.2008, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(Feldmarschall @  22.7.2008,  21:21 Найти цитируемый пост)
выше ты написал только, что универсального, единственно-правильного решения не существует.

Прочти ещё чуть выше, некоторые примеры я дал  smile 


Цитата(Feldmarschall @  22.7.2008,  21:21 Найти цитируемый пост)
вот, допустим, у меня был сайт из 4 скриптов - index.php, shop.php, guestbook.php, news.php
как его переделать под MVC?

Что-то далеко уходим от главной темы. Это понимать как проверку моих знаний?  smile 

Навскидку я бы сделал примерно так:
  • http://somehost.com/ - главная страница
  • http://somehost.com/shop - магазин
  • http://somehost.com/guestbook - гостевуха
  • http://somehost.com/news - новости
Иерархия проекта следующая:

Код

public_html
» classes
  » router.php - роутер, парсит URL и выбирает соответствующий контроллер
  » template.php - шаблонизатор, задача которого заносить в шаблон значения переменных и отображать сам шаблон
  » registry.php - реестр, нужен во избежание использования глобальных переменных
  » controller_base.php - базовый класс контроллера
  » model_base.php - базовый класс модели


» includes - сторонние библиотеки
  » dbsimple - для работы с СУБД
  » lightbox - для красивого отображения картинок
  » tinymce - текстовый редактор


» controllers
  » shop
    » index.php - контроллер для http://somehost.com/shop
    » detais.php - контроллер для подробного детального просмотра товара
    » edit.php - контроллер для редактирования товара

  » guestbook
    » index.php - контроллер для http://somehost.com/guestbook
    » profile.php - контроллер профиля

  » news
    » index.php - контроллер для http://somehost.com/news
    » news.php - контроллер новостей
    » comments.php - контроллер комментариев
    » edit.php - контроллер редактирования новости


» templates
  » shop
    » index.php - шаблон для http://somehost.com/shop
    » detais.php - шаблон для подробного детального просмотра товара
    » edit.php - шаблон для редактирования товара

  » guestbook
    » index.php - шаблон для http://somehost.com/guestbook
    » profile.php - шаблон профиля

  » news
    » index.php - шаблон для http://somehost.com/news
    » news.php - шаблон новостей
    » comments.php - шаблон комментариев
    » edit.php - шаблон редактирования новости

  » index.php - шаблон для http://somehost.com/
  » header.php - шапка
  » footer.php - подвал


» models - функции для разных рассчётов и "общения" с СУБД
  » shop.php
  » guestbook.php
  » news.php


» index.php - точка входа
» config.php - конфиг
» .htacces - настройки сервера, в т.ч. mod_rewrite


Это сообщение отредактировал(а) HackMan - 22.7.2008, 21:50


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Fortop
Дата 22.7.2008, 21:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  22.7.2008,  21:26 Найти цитируемый пост)
Я правильно понял?

Нет, это будет оливье smile


Цитата(Feldmarschall @  22.7.2008,  21:26 Найти цитируемый пост)
если model у меня - это структура каталога - 

Не совсем верно.
Модель - это сущность. Объект которым ты оперируешь.
Например в гостевой используются две модели User и Message.
Задача модели сделать прозрачным работу с источниками данных. Т.е. тебе не нужно беспокоится что и откуда берется - ты это берешь у модели.


Цитата(Feldmarschall @  22.7.2008,  21:26 Найти цитируемый пост)
допустиим, общая авторизация в шопе и в гостевой. Этого достаточно?
А можно попросить пример сайта с достаточными связями для мвц? 

Честно? не очень smile

А вот если добавить вывод контекстных новостей всюду. Общий один на всех контроллер для экспорта информации в PDF, CSV, XML и т.д.
Сверху навесить требование работы этого всего на ПК, КПК и к примеру touchpad.
Да скажем с 2-3мя типами принтеров (тоже общий для всех).

Вот тогда вопрос правильного структурирования кода может встать.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
HackMan
Дата 22.7.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(Feldmarschall @  22.7.2008,  21:26 Найти цитируемый пост)
используемый ими Смарти, то у меня тоже MVC

опять ты цепляешь к смарти...


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Feldmarschall
Дата 22.7.2008, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



HackMan
Ну, не столько знаний, сколько осмысленности подхода.
Но в первую очередь - я хочу для себя понять.
То есть, вся разница с обычным подходом заключается в том, что мы все вызываем через один индекс, и делим гостевую на два файла.
Так?

Смарти я не цепляю. Я привожу в пример. Ведь его можно использовать, как шаблонизатор? Если у тебя есть личная неприязнь к смарти, я готов заменить на XSLT.

Добавлено через 3 минуты и 43 секунды
Fortop
Цитата(Fortop @  22.7.2008,  21:52 Найти цитируемый пост)
. Общий один на всех контроллер для экспорта информации в PDF

ты хотел сказать - общий вью?


Это сообщение отредактировал(а) Feldmarschall - 22.7.2008, 21:56
PM   Вверх
HackMan
Дата 22.7.2008, 21:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Feldmarschall, процитирую Википедию

Цитата

Model-view-controller (MVC, «Модель-представление-поведение») — архитектура программного обеспечения, в которой модель данных приложения, пользовательский интерфейс и управляющая логика разделены на три отдельных компонента, так, что модификация одного из компонентов оказывает минимальное воздействие на другие компоненты.


Ключевые слова - модификация одного из компонентов оказывает минимальное воздействие на другие компоненты
Модель MVC позволяет раздробить целое на несколько логически независимых частей.


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Fortop
Дата 22.7.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  22.7.2008,  21:53 Найти цитируемый пост)
То есть, вся разница с обычным подходом заключается в том, что мы все вызываем через один индекс, и делим гостевую на два файла.
Так? 

Мы вообще все делим как можно мельче и приводим к иерархиям.



--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
HackMan
Дата 22.7.2008, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



А так же решает вопрос bars80080  smile 


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Fortop
Дата 22.7.2008, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  22.7.2008,  21:53 Найти цитируемый пост)
ты хотел сказать - общий вью?

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

Но оглядываясь на то что уже сделано, я бы вообще функции экспорта вынес отдельно.

Единственное что пока не решил, как это организовать.
Пока исходя из архитектуры - лучше отдельным контролером. Слишком часто повторяющаяся операция у меня.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
HackMan
Дата 22.7.2008, 22:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(Feldmarschall @  22.7.2008,  21:53 Найти цитируемый пост)
Смарти я не цепляю. Я привожу в пример. Ведь его можно использовать, как шаблонизатор?

использовать можно, но не нужно  smile 


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Feldmarschall
Дата 22.7.2008, 22:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок
****


Профиль
Группа: Участник
Сообщений: 2641
Регистрация: 11.12.2007

Репутация: 22
Всего: 32



Fortop, то есть, главное в MVC - не общий индекс (о котором так много писал HackMan), а объектная модель (не в смысле model, а в смысле модель построения сайта с использованием ООП)? 
А роль общего индекса вполне может играть умный рерайт с препендом на пару, правильно?

Цитата(HackMan @  22.7.2008,  21:59 Найти цитируемый пост)
А так же решает вопрос bars80080

Вот только вопрос, сколько ему это будет стоить.

Это сообщение отредактировал(а) Feldmarschall - 22.7.2008, 22:10
PM   Вверх
Fortop
Дата 22.7.2008, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Цитата(Feldmarschall @  22.7.2008,  22:08 Найти цитируемый пост)
Fortop, то есть, главное в MVC - не общий индекс (о котором так много писал HackMan), а объектная модель (не в смысле model, а в смысле модель построения сайта с использованием ООП)? 
А роль общего индекса вполне может играть умный рерайт с препендом на пару, правильно?

да


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
HackMan
Дата 22.7.2008, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Цитата(Feldmarschall @  22.7.2008,  22:08 Найти цитируемый пост)
то есть, главное в MVC - не общий индекс (о котором так много писал HackMan)

Я ни разу не утверждал, что общий индекс - главное в MVC. Это фраза, выдранная из контекста. Главную задачу MVC я процитировал с Вики

Цитата(Feldmarschall @  22.7.2008,  22:08 Найти цитируемый пост)
А роль общего индекса вполне может играть умный рерайт с препендом на пару, правильно?

да  smile 

Это сообщение отредактировал(а) HackMan - 22.7.2008, 22:16


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Fortop
Дата 22.7.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Дело в том, что сама архитектура веб прямо таки способствует разделению логики.
Model - база данных
View - html, javascript etc...
Controller - PHP.

Я недавно пытался объяснить это обычным десктопщикам - но для них это что-то заоблачное.
они не понимают как могут кнопки и форма жить отдельно от всего остального приложения smile


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
HackMan
Дата 22.7.2008, 22:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Fortop, в модели не обязательно только работа с СУБД

И для окончательной понятности ещё одна цитата с Вики
Цитата

Важно отметить, что как представление, так и поведение зависят от модели. Однако модель не зависит ни от представления, ни от поведения. Это одно из ключевых достоинств подобного разделения. Оно позволяет строить модель независимо от визуального представления, а также создавать несколько различных представлений для одной модели.


Это сообщение отредактировал(а) HackMan - 22.7.2008, 22:19


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
bars80080
Дата 22.7.2008, 22:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



ему это будет стоить много отрицательных рублёв, ибо он на этом ещё заработает
не продажей, так работой

фигасе я холивар развёл

спасибо большое за обсуждение
Feldmarschall, ты так и не рассказал, что считаешь правильным

словами умными бросаться не люблю, ибо понты. главное, чтоб работало как часы

я пока примерно так думаю (иллюстрация HackMan)
объединять я ничего не хочу, именно поэтому клепаю независимые модули. скорее всего это будет разрозненные папки с файлами модуля. единственное, что все их конфиги будут цепляться за главный в корневике. в таком случае переложение на другую задачу будет довольно быстрое
точки входа тоже будут разные. скажем index.php для общего сайта (новости, инфо для клиентов, формы заказа и т.п.), система управления и редакции (admin.php) для наполнения контентом и общим управлением, ну и другие обособленные от остального блоки, типа forum, shop и т.п.
на всё общая БД с общими таблицами на авторизацию и доступ, но в остальном разные.

что не так сказал?
PM MAIL WWW   Вверх
Fortop
Дата 22.7.2008, 22:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: 20
Всего: 42



Мне модели у HackMan, не нравятся. Не отражают сущности. Т.е. и такие могут быть, но еще должны быть и более низкого уровня с которыми эти будут работать.
например общая модель User.


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
HackMan
Дата 22.7.2008, 22:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Юзверь-программист
**


Профиль
Группа: Участник
Сообщений: 391
Регистрация: 18.6.2005
Где: .ua

Репутация: 8
Всего: 9



Согласен, модели не лучшие, но они тоже отображают принципы MVC, и для поставленной задачи сгодятся  smile 


--------------------

Завтра - это самый загруженный день недели smile

user posted image

user posted image
PM MAIL ICQ   Вверх
Страницы: (3) [Все] 1 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1711 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.