|
|
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
Пишу приложение с использованием концепции MVC на базе CodeIgnitor. Для вывода значений переменных пользователю внутри View в простых случаях использую способы такого вида: <?=$VarName;> или вовсе {VarName}. Но так как есть еще и "сложные случаи", столкнулся с трудностью передачи дизайна и верстки в аутсорсинг: дизайнеру/верстальщику сложно работать с "представлением", которое в некоторых местах формирует себя динамически. Например, у меня есть унифицированные контроллер и представление для вывода пользователю любого табличного набора данных в виде таблицы. При этом, как вы понимаете, количество колонок в <Table>, их названия и т.д. заранее неизвестно. На текущий момент для получения работоспособности я применил простое решение "в лоб" - внутри View написал PHP-код, который генерирует HTML-таблицу (стили и т.п. пока опускаю): Код: php 1. 2. 3. 4. 5. 6. 7. но при открытии такого файла в программе для верстки страниц... конечно сами понимаете, что верстальщик не видит, что же у него получится в итоге, когда таблица наполнится данными. Дело еще осложняется тем, что для исключения PHP-кода из View я разбиваю View на составные части, например, самое простое - отдельно сделаны TemplateHeader.php и TemplateFooter.php, чтобы не приходилось менять содержимое заголовков и подвалов отдельно в каждой пользовательской странице (представлении). Ну и другой пример: отдельно сделано View для отображения одного комментария. И т.д. и т.п. Такой подход я не сам придумал - он известен, и приводится кое-где в обучающих примерах по концепции MVC. Но его недостатки собственно и породили мой вопрос: как оптимальнее организовать архитектуру Представлений, чтобы дизайнеру/верстальщику было проще с ними работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 12:15 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
брать у него целый html с забитыми рыбами текстов, резать самому. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 12:27 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
ScareCrow, для первого раза таким способом конечно можно воспользоваться, но проведение постоянных обновлений приложения таким способом будет весьма трудоемко для кодера. Полагаю, что существуют уже проверенные эффективные способы решения обозначенной задачи, и возможно это один из них, но может быть кто-то подскажет и другие варианты? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 12:52 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
посадить версталу рядом с кодером и разрабатывать шаблонизатор вместе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 12:53 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
Kulavert, если верстальщик не умеет работать с шаблонитизаторами... то что он вобще тогда умеет? нынче тестировщики дополнительно проводят код ревью написано, дизайнеры подстраивают дизайн по веб, ну уж верстальщики думаю должны уметь с шаблонитизаторами работать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.03.2013, 16:00 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
Ренатесли верстальщик не умеет работать с шаблонитизаторами... то что он вобще тогда умеет? честно говоря, спорное утверждение, т.к. по моему, должно быть так 1) Дизайнер делает картинку в фотошопе или где-то еще 2) Верстальщик верстает ее в ХТМЛ\ЦСС 3) Программист прикручивает верстку в апликуху Т.е. верстальщику не надо знать как дальше будет использоватся его код, разбиватся на блоки или целиком, он свою часть работы выполнил. Более того, такой подход делает продукт человеконезависимым, т.к. не придется обучать нового верстальщика своему шаблонизатору ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 11:50 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
artasТ.е. верстальщику не надо знать как дальше будет использоватся его код, разбиватся на блоки или целиком, он свою часть работы выполнил. Более того, такой подход делает продукт человеконезависимым, т.к. не придется обучать нового верстальщика своему шаблонизатору Для этого надо юзать не велосипеды а уже существующие шаблонитизаторы, либо нативный php код. Я только 1 раз в жизни встречался с шаблонитизатором, с которым спустя 2 месяца только научился чуть чуть верстать. Восновном все шаблонитизаторы (Jade, smarty и куча всего всего что есть) имеют синтаксис изучаемый в течении часа. Главное просто иметь опыт рабоыт с любым шаблонитизатором и понимать их суть. А то что верстальщик или дизайнер будут сидеть в своем мире, и не знать куда вобще уходят их картинки или верстка, приведет к проблеме 1) что дизайнер не сможет сверстать то что дал ему дизайнер (или сверстает с хаками или страничку под 2мб, так как графику под css нникак не переделать) 2) верстальщик сверстает то во что потом програмист не сможет засунуть данные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 12:03 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
Ренат, даже со смарти верстальщику придется кроме синтаксиса смарти еще и структуру фреймворка чуть узнать. чтобы уметь наполнять верстку тестовыми данными ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2013, 12:17 |
|
||
|
Оптимальная архитектура View в концепции MVC
|
|||
|---|---|---|---|
|
#18+
Коллеги, не буду создавать новую ветку, поскольку вопрос относится так же ко view. На ваш взгляд в чем основная функциональная разница между ViewHelper'ами и Partial'ами? Они очень, на мой взгляд, похожи между собой. Я для себя так пока и не решил, разве что VH кажутся мне несколько более ближе к моделям, т.е .из них допускается обращение к моделям, доп.запросы, формирование сложных конструкции DOM. Т.е. если больше php, то создаем VH, если больше HTML, то Partiаl (ну это очень грубо...) :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2013, 10:05 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38178035&tid=1464024]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
31ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 326ms |

| 0 / 0 |
