Jump to content
  • 0

Относительные пути JS в файле php


Hoax
 Share

Question

Проблема в следующем.

 

Допустим есть корневой файл - index.php, который в свою очередь инклудит в себя файлы отдельных страниц, допустим page1.php или page2.php и т.д.

 

С точки зрения php, я могу инклудить в page1.php какой-нибудь файл части страницы, например header.php, причем я буду его инклудить относительно page1.php, и совсем не важно, что этот файл (page1.php) инклудится в свою очередь индексным файлом (index.php)

 

Однако с точки зрения JS, я не смогу находясь page1.php написать относительно пусть, к допустим, file.js, т.к. при таком подходе, js будет искать файл не относительно page1.php, а относительно index.php.

 

Именно поэтому при добавлении js файла в php приходится каждый раз писать абсолютный путь, что очень длинно и не удобно. Как решить это проблему?

Link to comment
Share on other sites

7 answers to this question

Recommended Posts

  • 0
Именно поэтому при добавлении js файла в php приходится каждый раз писать абсолютный путь, что очень длинно и не удобно. Как решить это проблему?

 

чем не устраивает запись пути от корня сайта

<script src="/js/blablabla.js"></script>

?

Link to comment
Share on other sites

  • 0

Для каждой страницы и каждого модуля (например меню и т.д.) придется указывать свой путь, который состоит из не менее пяти директорий. Запись от корня просто неудобна и каждый раз различна (страницы-то разные).

 

Но если никак больше нельзя установить путь, придется писать абсолютный...

Link to comment
Share on other sites

  • 0

@Hoax  что вы там разделяете?  :wacko:  в нормальном человеческом а не инопланетянском приложении должен быть разделен только фронтенд и бекенд - сам сайт и админка, соответственно для админки и сайта свои скрипты js шрифты картинки css стили, если у вас чистый php то нужен один файл который будет всегда подключен при любом маршруте соответственно для админки и сайта свой, да и вообще все маршруты следует пропускать через единственный index.php  , возьмите любую cms для примера, а лучше вооружитесь php фреймворком .

зы - еще код дублировать давайте в каждом php файле :blink:

Edited by Andryshok
Link to comment
Share on other sites

  • 0

  :wacko:  в нормальном человеческом а не инопланетянском приложении должен быть разделен только фронтенд и бекенд - сам сайт и админка, соответственно для админки и сайта свои скрипты js шрифты картинки css стили.

 

Это вероятно, мусорное приложение, ибо каждый раздел (сайт, админка) имеет свои страницы (страницы сайта  и админки), которые в свою очередь могут содержать по мимо основного php-кода и js-скрипты. Если у меня страница создания материала - я подключу в нее js-скрипт, который будет отвечать только за действия, произведенные на этой странице создания материала.

 

Я ничего не разделяю, но гораздо удобнее при разработке модуля, в директория этого модуля указать путь к js-файлу, который отвечает именно за те функции которые выполняет отдельный модуль.

 

Или вы мне предлагаете в index.php указать путь в один js-скрипт, в котором код всего сайта?

Edited by Hoax
Link to comment
Share on other sites

  • 0

Или вы мне предлагаете в index.php указать путь в один js-скрипт, в котором код всего сайта?

 

Желательно конечно так и делать, если у вас на странице будет 100 модулей и у каждого будет js то вам придется сделать 100 запросов, что вызовет задержку загрузки страницы

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

так вы решите проблему с относительными адресами и увеличите скорость загрузки страницы

Link to comment
Share on other sites

  • 0

:wacko:  вот вам живой пример

Фронтенд  796519186e0ec295c62d3297159fa69f.jpeg

Бекенд  89b773942adbd73c13efbfcee24a613b.jpeg

:wacko: :wacko: :wacko:

 

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

Так впишите свой код прямо в код страницы в теге <script></script>

Edited by Andryshok
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy