Как стать автором
Обновить

Комментарии 13

Предположим, файл не найден. Зачем тогда заполнять Header'ы (Content-type и т.д.)? :)

PS. На самом деле не очень понимаю стремление отдавать статику через php…
Да, возможно, действительно стоит перенести установку хедеров в блок if...else выше. Сейчас поправлю.

По поводу отдачи через php — во-первых, кэширование (в данном примере лишь самый простой его вариант, но почему бы и не изменить под свои нужды?), а во-вторых, без этого придется сложно при разработке на Ko3 — в каждом View-файле придется строго прописывать путь, из чего следует невозможность использования нескольких шаблонов.
В каждом View-файле можно прописать вызов метода библиотеки управления медиа-файлами, которая сама знает, какой шаблон откуда брать :)
Не говоря уже о том, что в идеале это все должно выводиться в одном месте (точнее, стили в HEAD, а скрипты ближе к /BODY), а в течение работы приложения все требуемые ресурсы собирать в той же библиотеке.
По крайней мере, таково мое виденье этой проблемы ))
Вы действительно считаете, что так будет проще? :)
Если да, то не могли бы Вы скинуть мне в личку пример такого view-файла, интересно взглянуть…
Пока нашел более-менее подходящий пример, внизу уже прокомментировали. Вроде как должны быть еще примеры медиа-модулей, на форуме достаточно часто спрашивают.
Кстати, пользуясь случаем хочу поблагодарить за Ваш замечательный блог — он сильно помог мне в свое время начать работу с Ko3 и сейчас периодически продолжает радовать :)
>PS. На самом деле не очень понимаю стремление отдавать статику через php…

Как раз пишу модуль, и возникает желание зашить всю его статику в папку модуля, а не оставлять в паблике. Лёгкая переносимость знаете-ли
Спасибо, что напомнил про этот способ, раньше в .htaccess использовал !^(index\.php|media)
Можно оформить в виде модуля и выложить на Github'e :)
Сомневаюсь, что это потянет на модуль :)

P.S.: когда только начинал работать с Ko3 — сам использовал костыли в виде исправленного .htaccess пока не решил взглянуть на оф. реализацию этого дела в модуле userguide :)
Весьма интересно, раньше не видел. Спасибо за ссылку, сейчас покопаюсь.
По моему идельным был бы контроллер с таим функционалом:
CSS и JS жмутся Minify и ложатся в директории дающей такой же путь, как и контроллер.
Таким образом скрипт будет вызываться только один раз для каждого файла, если в .htaccess прописано условие на наличие файла.
Конечно нужно чистить кэш после обновления файлов и прописать правила mod_expires.
Я представил в статье лишь базовый контроллер для работы с медиа-файлами… :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации