@Sparkis
PHP Developer

Правильно ли я делаю с подгрузкой JS|CSS через php?

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

На данный момент я храню свои CSS/JS в public директории и подгружаю их стандартными методами. Что бы уменьшить деление директорий и доступной пользователю в public информации хочу перенести всё это дело в core директорию и оттуда цеплять уже их при помощи php точки входа.

Но читая в интернете статьи по этому методу выяснил дополнительно как плюсы, так и минусы.
Плюсами является:
1. Недоступность файлов напрямую.
2. Подгрузка только тех файлов, что нужные на данный момент.
3. Уменьшение HTTP запросов.
Минусы же:
1. Отсутствие кеширования.

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

Поковырялся еще и нашел, что точку входа так же можно заставить кешироватся. И нашел соответствующие HTTP заголовки, например:
Cache-Control: no-transform,public,max-age=300,s-maxage=900
.

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

UPD: А может взять и компилировать JS/CSS файлы в один CSS и JS файл соответственно перед публикацией сайта и скармливать уже эти минифицированные файлы одной кучей стандартным уже способом?
  • Вопрос задан
  • 108 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Mellorn

Что бы уменьшить деление директорий и доступной пользователю в public информации хочу перенести всё это дело в core директорию

В первую очередь нужно ответить себе на вопрос: а какую проблему я таким образом решаю.

В целом, не нужно заниматься ерундой и переносить куда-то эти файлы.
css, js должны стандартно подгружаться из public директории.

Собирать отдельные css,js файлы в один бандл имеет смысл. Хотя, с оглядкой на http/2.0 это уже не так актуально, как было раньше. А вот минимизировать в любом случае стоит.
Ответ написан
@qid00000000
Мало что знаю, но информацию найду в гугле
Добавь к запросу статики GET параметр с версией: например: https://some.site/some_uri?version=1.1

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


На данный момент я храню свои CSS/JS в public директории и подгружаю их стандартными методами. Что бы уменьшить деление директорий и доступной пользователю в public информации хочу перенести всё это дело в core директорию и оттуда цеплять уже их при помощи php точки входа.


Их и нужно подгружать статндартными методами, незачем костылить PHP скрипты. Чем сложнее система, тем проще её сломать.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы