[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Урок. Структура сайта (MVC)
bubu123
Структура сайта (MVC) > Шаг 8. Логическое завершение
http://irbis-team.com/15/3/8

Цитата
И так, файл modules/main/view.php, непосредственно в модуле. А что бы он не простаивал, подключим в систему дебаггер, который проходили раньше.

<?php
/** 
* Подключаем шаблон 
* Includes a templates 
*/

    include './skins/tpl/main/show.tpl';
   
    dbg($page);

Не о каком дебаггере раньше речи не шло)
Не могу понять чего это и откуда...
какаято функция, что описана в файле './debug.php'
а о нем нигде не слова...
:o
подскажите пожалуйста.



Спустя 4 минуты (2.12.2010 - 19:12) twin написал(а):

Спустя 14 часов, 52 минуты, 38 секунд (3.12.2010 - 10:05) bubu123 написал(а):
twin
спасибо)
читаю.

Спустя 8 дней, 6 часов, 52 минуты, 40 секунд (11.12.2010 - 16:58) Марафонец написал(а):
В общем тестю сейчас образец cms из уроков. Вопрос по буферизации.

<!-- кусок главного шаблона касающейся вывода буфера-->
<div id="content_block">

<?php
echo $content ?>

</div>


<!-- темплейт меню -->
<div id="menu">
<ul>
<li><a
href="/main">Главная страница</a></li>
<li><a
href="/second">Вторая страница</a></li>
</ul>
</div>


главный роутер

ob_start();

/**
* Подключаем меню
* Includes the menu
*/

include './skins/tpl/menu.tpl';

/**
* The switch of modules
* Переключатель страниц
*/

switch($GET['page'])
{
/**
* Подключаем модуль приветствия
* Includes the greeting module
*/

case 'main':
include './modules/main/router.php';
break;
/**
* Подключаем модуль второй страницы
* Includes the module of the second page
*/

case 'second':
include './modules/second/router.php';
break;
/**
* Подключаем модуль приветствия по умолчанию
* Includes the greeting module
*/

default:
include './modules/main/router.php';
break;
}

$content = ob_get_contents();
ob_end_clean();
/**
* Подключаем главный шаблон
* Includes the basic template
*/

include './skins/tpl/index.tpl';


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

Если меню вставить в главный шаблон, все отлично... Как безболезненно разнести меню и главный шаблон? :o

Спустя 4 часа, 36 минут, 59 секунд (11.12.2010 - 21:34) twin написал(а):
Буфер никогда не отдаст ничего лишнего. Основных причин три.
1. Пробел до <?php в подключаемом файле.
2. Там же стоит ?> и пробел после него.
3. BOM

Спустя 2 месяца, 4 дня, 55 минут, 13 секунд (15.02.2011 - 22:30) prst написал(а):
Тоже пытаюсь начать делать сайты используя MVC, прочел "Структура сайта (MVC)" ну как то тяжеловато но примерно понятно. Очень осложнило что там внедряется гостевая какая то, дебагер и переключение rus|eng, ну да ладно, главное примерно понял. Попробовал начать делать сайт, и сразу же возник вопрос. В уроке было 2 странички: главная и вторая. У меня в меню их 10 точно, это чтоже, выходит 10 каталогов создавать с подуровнями? И представляю как разрастется индекс со своей переключалкой switch. Может тут другой подход надо использовать?
Спасибо!

Спустя 3 часа, 15 минут, 8 секунд (16.02.2011 - 01:45) Andrey65 написал(а):
prst Это лишь структура движка, чтобы вы поняли что к чему. В главном индексе будет основное меню, изучайте дальше и научитесь создавать подменю в разделе статические страницы и уже в админке самостоятельно редактировать.

Спустя 7 дней, 16 часов, 4 минуты, 15 секунд (23.02.2011 - 17:49) Стас написал(а):
Подскажите как можно зделать чтоб имея index.php с дизайном а остальные страници просто выружались в index.php дапустим из txt unsure.gif

Спустя 17 минут, 53 секунды (23.02.2011 - 18:07) inpost написал(а):
Стас
irbis-team.com - иди и изучай ядро + MVC

Спустя 58 минут, 12 секунд (23.02.2011 - 19:05) Стас написал(а):
Был но мне не сайт надо а в отдельных файлах сайта
допустим вокансии и контакты а остальное не изменяется
если есть код киньте

зарание спасибо!!!

Спустя 10 часов, 41 минута, 45 секунд (24.02.2011 - 05:47) Andrey65 написал(а):
Цитата (Стас @ 23.02.2011 - 16:05)
в отдельных файлах сайта
допустим вокансии и контакты а остальное не изменяется

В каких файлах? куда и что не изменяется? Подключайте необходимый контент с файлов или базы выбирая тем же switch-ем. О каком коде скрипте идет речь?

Спустя 3 часа, 4 минуты, 21 секунда (24.02.2011 - 08:51) Стас написал(а):
Цитата (Andrey65 @ 24.02.2011 - 02:47)
Цитата (Стас @ 23.02.2011 - 16:05)
в отдельных файлах сайта
допустим вокансии и контакты а остальное не изменяется

В каких файлах? куда и что не изменяется? Подключайте необходимый контент с файлов или базы выбирая тем же switch-ем. О каком коде скрипте идет речь?

мне надо чтоб был только index.php а остальные при нажатии кнопки меню
втавлялись в html блок по центру страници страница написана уже с дизайном html блок по центру страници стоит

Спустя 1 час, 26 минут, 7 секунд (24.02.2011 - 10:17) eXaM написал(а):
Мда, правильно говорят, что стадия ФГМ пациента прямо пропорциональна количеству пропущенных запятых.

Спустя 5 часов, 15 минут, 40 секунд (24.02.2011 - 15:33) inpost написал(а):
Стас
Если бы ты прошел тот курс, глупых вопросов не задавал бы. Иди и учись...

Спустя 3 часа, 31 минута, 46 секунд (24.02.2011 - 19:05) Andrey65 написал(а):
Кидай мне свой шаблон, я тебе натяну его на ядро, только все-равно придется самостоятельно изучать механизм

Спустя 13 часов, 2 минуты, 47 секунд (25.02.2011 - 08:08) Stas написал(а):
Andrey65
куда тебе скинуть дай Email
stas.pavlov@mail.ru

Спустя 3 месяца, 4 дня, 5 часов, 54 минуты, 23 секунды (29.05.2011 - 13:02) Pirat_BillY написал(а):
Такой вопрос.
Собственно почему используя, модель MVC, вы пхаете контроллер в папку именно моделей? Почему не в папку для контроллеров?

Спустя 1 год, 3 месяца, 13 дней, 9 часов, 1 минута, 10 секунд (12.09.2012 - 22:03) Гость_Alex написал(а):
А можно поподробнее про дебаггер? Подключил его и у меня выходит сообщение

TRACE № 1.
File: Z:\home\site\www\modules\main\view.php
Function: include
Line: 11

$page =

string(4) "main"

Хорошо это или плохо.
Спасибо за ответ и за уроки)

Спустя 3 дня, 19 часов, 39 минут, 37 секунд (16.09.2012 - 17:43) Гость_Alex написал(а):
Аууууууууууууууууууу!!!!!

Спустя 3 часа, 30 минут, 25 секунд (16.09.2012 - 21:13) twin написал(а):
Хорошо конечно))
Видно же, что на строке 11 файла view.php находится переменная $page в которой записана строка 'main'.

Чего тут плохого)))

Спустя 3 дня, 22 часа, 47 минут, 55 секунд (20.09.2012 - 20:01) Guest написал(а):
Хотел бы уточнить, как я понял разделение MVC происходит и по каталогам, структура нашего сайта???почему тогда не назвали папки более понятно VIEW(для шаблонов), MODEL(для модели), CONTROLLER(для контроллеров), а у нас они называются skins,libs, modules??? или я что то не так понимаю??? обьясните пожалуста хотелось бы понять патерн MVC

Спустя 7 часов, 16 минут, 52 секунды (21.09.2012 - 03:18) twin написал(а):
Назвать можно как угодно. Главное суть. Да и устарела та информация, вот тут все почти так и есть. И модели и контроллеры.

Спустя 7 часов, 11 минут, 44 секунды (21.09.2012 - 10:30) Guest написал(а):
Спасибо за ответ обязательно посмотрю новые уроки, еще хотел бы спросить в принципе теперь суть патерна понял, а вот у нас контролер как я понимаю состоит из трех файлов read_controller, view,router ,но как я понял из теории контроллер должен быть один для чего так сделано? заранее большое спасибо уроки супер особенно для начинающих

Спустя 10 минут, 54 секунды (21.09.2012 - 10:41) Игорь_Vasinsky написал(а):
контроллеров может быть скока угодна

может быть 1 контроллер на 1 модель
может быть 5 контроллеров на 1 модел
может быть 1 контроллер на 5 моделей, но листинг будет большой.

на примере регистрации

допустим модель регистрации так же включает всё сопутствующее: авторизацию, восстановление пароля

модель одна - а 3 контроллера удобней.

Спустя 5 дней, 22 часа, 30 минут, 55 секунд (27.09.2012 - 09:12) bobo написал(а):
Благодаря htaccess в папку без индексного файла пользователь не попадет.
А если указать путь к какой-либо *.tpl - она есессно открывается. Как быть с этим (в описании уроков не нашел ответа) ?

Спустя 2 минуты, 36 секунд (27.09.2012 - 09:14) Игорь_Vasinsky написал(а):
запрети доступ к файлам или проверяй наличие какой нить константы объявленной в конфиге.

Спустя 3 часа, 14 минут, 36 секунд (27.09.2012 - 12:29) bobo написал(а):
Точняк, что то вылетело совсем из головы, что htaccess и это умеет, спасибо

Спустя 5 дней, 23 часа, 13 минут, 17 секунд (3.10.2012 - 11:42) Гость_vadim написал(а):
Здравствуйте, у меня вот такой вопрос ,учил по вашему примеру MVC , так вот вы в главном индексе ставите константу для защиты скриптов и советуете ее проверять во всех файлах пхп, чтобы как я понимаю через адресную строку нельзя было запусить????а если допустим скрипт формирует страницу ну регистрации, если ввести путь к нему страница не сформируется она же не через главный индекс запускается??? как быть???(это связано с редиректом???)

Спустя 41 минута, 34 секунды (3.10.2012 - 12:24) arbuz написал(а):
Да, это для защиты от запуска из вне. Все скрипты должны быть вызваны только файлом index.php который является "главным контроллером". Все запросы обрабатывает только он, index.php.

Цитата
а если допустим скрипт формирует страницу ну регистрации, если ввести путь к нему страница не сформируется она же не через главный индекс запускается??? как быть???(это связано с редиректом???)


неочень понял, но по правилам этот скрипт должен запускаться как раз иг "главного контроллера". Тоесть тебе надо передать через GET параметр и обработать его = вызвать свой скрипт, который уже будет формировать страницу.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.