Разработка движка

Elendor

Новичок
Разработка движка

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

Gas

может по одной?
можем, смотришь на zend framework, code igniter, cakephp, symphony, etc и понимаешь что разрабатывать движок тебе не нужно, а нужно взять существующий, но покопаться в нём для понимания как там всё устроено.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Ты не поверишь.
book.cakephp.org
framework.zend.com/manual/ru
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Gas
Скорее всего ТС хочет делать CMS при помощи CMF =))
 

Elendor

Новичок
проект комерческий поэтому надо делать свой велосипед ручной сборки
 

fixxxer

К.О.
Партнер клуба
кажется кто то ничего не понимает в осс лицензиях :)

как минимум лицензия zend framework никак не ограничивает его использование в коммерческих продуктах - там bsd license
да и большинство фреймворков под bsd или подобным лицензированы

-~{}~ 11.10.08 22:36:

кстати по поводу mvc

я тут сделал простой пример, демонстрирующий концепцию (в ее стандартном классическом виде). гостевуха такая примитивная.

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

сорцы - http://symbi.org/misc/mvc.tar.gz
 

nerezus

Вселенский отказник
> проект комерческий поэтому надо делать свой велосипед ручной сборки

"У меня есть жена, поэтому я не буду ее трахать тем, что мне дала природа, а надо использовать самодельный инструмент"
 

Angerslave

Новичок
nerezus
Неуместная аналогия. Тут есть выбор - юзать чужое или писать своё. Почему нужно использовать именно первое в данном случае не ясно. Даже наоборот, в своём проекте я бы стал сам всё писать, дабы получить опыт и всё такое, а в коммерческом сроки важнее, чем "всё своё". Хотя требования бывают разные...
 

Духовность™

Продвинутый новичок
В index.php есть строка:

PHP:
require_once PATH_VIEWS . 'guestbook.php';
guestbook_display($view_data);
Начну с того, что постепенно мой интерес к паттерну MVC пропадает. Дело в том, что я не вижу никакого смысла в звене под названием view. В контексте этого примера - функция guestbook_display() - я считаю её абсолютно бесполезной. Либо она тут не нужна, либо я чего-то недопонимаю.

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

htmlspecialchars и nl2br, имхо, надо делать в шаблоне - это прерогатива "верстальщика", т.е. это мы делаем либо хэлперами, в случае php native, либо шаблонизатором. View имхо ничего не должен знать о том, каким именно образом обрабатывать переменные шаблона.

Формирование строки навигации можно отдать специализированной функции.

Остается пара строк, которые зачем-то вынесены в guestbook_display(), хотя они могли бы с тем же успехом жить в index.php. Разницы - никакой.
 

fixxxer

К.О.
Партнер клуба
во первых view это view+template на самом деле

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

fixxxer

К.О.
Партнер клуба
да, сразу скажу что я считаю недопустимым писать в шаблонах что либо кроме <?= ... ?>, <? if( [!] empty()) { .. } ?> и <? foreach() {...} ?>

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

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

ты лучше скажи со стороны моделей и работы с базой, там то должно быть понятно и на таком объеме )
 

Духовность™

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

в целом за пример спасибо. побольше бы таких примерчиков.

PHP:
define('SQL_GET_USER',        'SELECT login, password FROM users WHERE login={login}');
ты правда так пишешь? О_о
ИМХО, как говорил котеров, это так же нелепо как писать на Си паскалеподобные программы:
#define begin {
#define end }
#define then
#define write printf

какой смысл выносить SQL в константы??
 

Angerslave

Новичок
triumvirat
Почему, не обязательно же прям все SQL-запросы со всей системы собирать в одном месте. Скорее вынести SQL наверх модели, чтобы потом удобно было смотреть узкие места в SQL в модели...
 

Crys

Двинутый новичок
поддержка такого кода в большом проекте станет невыносимой
Если в большом проекте будет всего лишь десять запросов - не вижу ничего неудобного в этом.
 
Сверху