Как мне интегрировать JavaScript в приложение php? - PullRequest
1 голос
/ 09 октября 2010

У меня устаревшее php-приложение среднего размера, практически без интеграции с javascript.Недавно я изучал javascript (да, на самом деле изучаю его), используя превосходную книгу Дугласа Крокфордса и взял YUI в качестве своей библиотеки по своему выбору.Я попробовал несколько вещей и получил несколько работ, но теперь я хочу правильно интегрировать различные компоненты и т. Д. В мое приложение, мой вопрос заключается в том, как это сделать для упрощения обслуживания и повторного использования кода.

В настоящее время приложение состоит из

  • страниц php
  • шаблонов smarty (html-шаблоны с некоторой специальной разметкой шаблонов) для каждого раздела страницы, поэтому для одногоpage.
  • один файл css.

У меня есть следующие идеи о том, как интегрировать мой javascript в страницы.

  1. Написать встроенный javascript в каждомШаблон smarty с кодом, необходимым для этого раздела.
  2. Напишите отдельный файл .js для каждого шаблона smarty, который связан с ним, а затем один встроенный скрипт для его запуска.
  3. отдельноФайл .js для каждой страницы php, который будет иметь все функции, необходимые для всей страницы .php.Маленькая встроенная функция будет вызывать любые функции, которые требуются.
  4. Что-то, чего у меня нет?

Имеет ли это какой-то смысл?У кого-нибудь есть хорошее предложение для этого?

Обновление:

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

Ответы [ 3 ]

1 голос
/ 09 октября 2010

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

Как говорится, вы должны сделать комбинацию из 1, 2 и 3 :

Иметь .js, включенный во все шаблоны, которые содержат глобальные функции. Каждый шаблон может также иметь свой собственный .js, специфичный для этой страницы или раздела страниц. Наконец, если крошечный объем кода специфичен для страницы (или должен каждый раз генерироваться динамически), не имеет смысла инициировать другое http-соединение для него, поэтому источник должен быть прямо в шаблоне.

1 голос
/ 09 октября 2010

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

1 голос
/ 09 октября 2010

Два других варианта:

  1. Один файл JS, который содержит все JS для всего вашего сайта.В зависимости от ваших настроек кэширования вы должны иметь возможность заставить пользователя загружать только один файл для всего сайта и использовать кэшированную версию для каждой другой страницы.
  2. Разделите ваш JS по функциям, а не по страницами включите все функции, необходимые для каждой страницы.Например, для одной страницы могут потребоваться вкладки, проверка формы и анимация, а для другой может потребоваться только вкладки.

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

Ни один из упомянутых подходов не является неправильным (хотя я бы пропустил встроенный JS как можно больше);какой из них лучше, будет зависеть от вашей конкретной ситуации и ваших личных предпочтений.

...