У меня есть опыт программирования php и javascript (/jquery), и я только начал изучать Joomla и MVC.
Кодированные компоненты MVC управляются bij пользовательскими действиями, но так же много javascript-программ типа (например, те, кто использует кнопки, выбирают меню и т.д.). Когда нужно использовать шаблоны mvc и когда нужно использовать javascript?
Второй вопрос: есть ли у кого-нибудь пример простого кода, который демонстрирует интеграцию кода jquery в php (файл просмотра)? (Я надеялся найти это в http://docs.joomla.org/Adding_JavaScript...)
Из вашего комментария кажется, что вы хотите знать, когда использовать Javascript и когда не использовать Javascript.
Это очень субъективный вопрос. Лично я считаю, что вы не должны полагаться на javascript для функциональности, если у вас нет веских оснований для этого (например, проблемы с производительностью), поскольку он ограничивает доступность и плохо для SEO. См. Также эти два сообщения.
Что касается вашего примера: в настоящее время MVC - своего рода суетливый термин. Но в варианте b есть только одна функция Javascript, которая обрабатывает все. Таким образом, вы не разделяете Model, View и Controller, поэтому его нельзя назвать MVC. И к какому варианту предпочтение: это вопрос вкуса. Я бы предпочел вариант a, потому что, если вы хотите, чтобы ваш сайт был доступен, вам пришлось бы закодировать резервную копию для опции b, которая кажется большой ненужной работой. Единственным недостатком является то, что у вас есть лишний дополнительный запрос на сервер.
И что касается вашего второго вопроса: вы не интегрируете Javascript в php. Php выполняется на стороне сервера (а затем обычно возвращает сгенерированную страницу html пользователю), в то время как Javascript выполняется на стороне клиента (и может, например, изменить код html, который пользователь получил).
Я не эксперт MVC. Хотя из того, что я читал, выбор Javascript или PHP не имеет большого значения (сам по себе) относительно того, следуете ли вы по стилю MVC. Тем не менее, вам все же необходимо соблюдать различия между серверной (PHP) и клиентской стороной (JS/jQuery), чтобы заставить работу работать последовательно.
Для большинства сайтов вы будете работать по принципу, что Javascript будет использоваться только для того, что серверный код не может сделать. Обычно я стараюсь, чтобы все функционально работало, используя чисто серверный код. И я имею в виду, что ни один пользователь не потерпит неудачу при выполнении чего-то существенного, если у них нет Javascript, или если он недоступен. Затем я добавляю Javascript сверху для звонков и свистов. У меня есть Javascript, который также обрабатывает важные функции, но только тогда, когда мой PHP-код уже может сделать их как резерв.
Например, у вас есть кнопка, которая загружает некоторые новые данные. Вы можете получить Javascript и отобразить эти данные динамически с помощью Ajax, который может быть более удобным для пользователя. Но когда на клиенте нет Javascript-исполнения, данные должны загружаться, загружая новую страницу.
jQuery/PHP может выглядеть примерно так:
$('.elem').click(function(){
$(this).val('<? echo $phpvar; ?>')
});
Является ли это "интеграцией" для семантических дебатов. У вас может быть JS-код вывода PHP, включая данные для назначения его параметрам, как указано выше, но это касается того, что JS и PHP могут быть созданы для совместной игры. На самом деле, правда, PHP запускается, а затем запускается Javascript, используя любой материал JS, который, возможно, имел выход PHP. Обратите внимание, что это можно сделать, как правило, только на странице.PHP с кодом Javascript в тегах <script>
, а не на.JS-страницах.