Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 04.06.2020, 07:11
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
А это что?
Вау, вы правы, это js выполняемый на стороне сервера. Серверу (окромя может только на Node), собственно говоря глубоко плевать, что и во что он вставляет, он просто занимается своей прямой задачей, выводит поток данных в браузер. Клиентским скриптом, html, css, это станет только на клиенте.
Ответить с цитированием
  #12 (permalink)  
Старый 04.06.2020, 09:37
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
это js выполняемый на стороне сервера.
Нет! Это совершенно неверное представление, там через PHP формируется скрипт на JS, который затем выполняется в браузере.

Сообщение от laimas
Серверу (окромя может только на Node), собственно говоря глубоко плевать, что и во что он вставляет
Вот именно такие вставки и ужасны! Если вы пишете на PHP, то пишите на PHP, а не разводите в файле, в котором следует быть PHP коду мешанину из JS, CSS, HTML и PHP и т. д. рекурсивно.
Ответить с цитированием
  #13 (permalink)  
Старый 04.06.2020, 09:47
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
Это совершенно неверное представление, там через PHP формируется скрипт на JS
Сообщение от Malleys
Вот именно такие вставки и ужасны! Если вы пишете на PHP
Ты себя нормально чувствуешь? Гонишь какой-то бред, тогда какого хрена РНР занимается и выводом html?
Ответить с цитированием
  #14 (permalink)  
Старый 04.06.2020, 11:24
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от laimas
Гонишь какой-то бред
Я не предлагал посреди текста программы производить вставки при помощи PHP. Я вообще-то против такого!

Сообщение от laimas
Должно быть либо echo, либо его краткая запись, и без добавления кавычек:

var tlllll = <?=json_encode($eee)?>;
Тут на самом деле будет синтаксическая ошибка с точки зрения JS. Также не возможна минификация и сборка. При каждом запросе на сервер будет новая генерация кода, а значит кеширование не возможно.

С точки зрения программиста этот код — настоящее говно, его следует выкинуть, а такому автору — заняться вместо программирования тем, в чём он лучше будет разбираться. Однако с точки зрения PHP разработчика — это самый обычный код. Менталитет, однако!

Совсем другое дело, когда на PHP генерируются данные, например, в формате JSON, которые будут запрашиваться из программы на JS. А вот генерирование произвольного кода на JS из PHP обычно не нужно.
Ответить с цитированием
  #15 (permalink)  
Старый 04.06.2020, 11:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Malleys
ут на самом деле будет синтаксическая ошибка с точки зрения JS
Это какая же?

Сообщение от Malleys
Совсем другое дело, когда на PHP генерируются данные, например, в формате JSON, которые будут запрашиваться из программы на JS.
Надо быть либо параноиком, либо упертым фанатиком JS.

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

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

Ничем не запрещено вставлять в тело страницы как css, так и javascript, и если это выгодно сделать именно так, то так и делают. Ладно бы, если бы ваш отдельный запрос обрабатывался не серверным языком, а чем-то специально предназначенным, тогда можно было бы говорить, что РНР отвязан от этой рутины, и вставка языком РНР js-данных в выводимый поток, это плохо.

Ранее, когда веб технологии не так были развиты как сейчас, серверный язык вообще формировал целые css и js файлы, так как содержимое их зависело от динамически изменяемых данных. И небо от этого не падало. Если и в нынешнее время потребуется такое, ничего страшного не произойдет, если подключение скрипта будет таким <script src="name.php"></script>, причем расширение php можно и скрыть, указав js, забота обращения к сценарию на сервере при этом возлагается на .htaccess. Плохо будет, если вместо такого подхода объявить .js выполняемыми файлами.

Нет на сервере js, и считать вставку js/css кода в тело страницы недопустимым явлением, это бредятина. Все определяется целесообразностью в каждом конкретном случае, а не тем как вам это нравится.
Ответить с цитированием
  #16 (permalink)  
Старый 06.06.2020, 06:52
Аватар для micscr
Профессор
Отправить личное сообщение для micscr Посмотреть профиль Найти все сообщения от micscr
 
Регистрация: 10.09.2009
Сообщений: 1,566

Сообщение от Malleys Посмотреть сообщение
А зачем в JS находится PHP?

var tlllll = await fetch("get$eee.php").then(r => r.json());
А что это будет за точка входа eee.php?
О ней придется дополнительно думать, защищать ее, а выше этого не требовалось.

Сообщение от Malleys Посмотреть сообщение
Совсем другое дело, когда на PHP генерируются данные, например, в формате JSON, которые будут запрашиваться из программы на JS.
Ну оно обычно так и делается. JS код должен находиться по максимуму в js файлах, но некоторый, стартовый, можно и сгенерировать.
Сообщение от Malleys Посмотреть сообщение
А вот генерирование произвольного кода на JS из PHP обычно не нужно.
Это вопрос мировозренческий.
Например в Yii js код клиентской валидации генерируется автоматически в зависимости от того что в php моделях.
Т.к. источник истины на сервере.
Ответить с цитированием
  #17 (permalink)  
Старый 07.06.2020, 00:53
Аватар для Vlasenko Fedor
Профессор
Отправить личное сообщение для Vlasenko Fedor Посмотреть профиль Найти все сообщения от Vlasenko Fedor
 
Регистрация: 13.03.2013
Сообщений: 1,572

Malleys,
че ты к кешированию то пристал
формы не стоит кешировать
там защита от CSRF должна быть
посмотри до чего доходили https://bolknote.ru/all/3185/
когда небыло http2
и выше тебе правильно написали, что возможны проекты в которых тот или иной (js,css) генерился сервером, затем добавили заголовок ты даже не заметишь разницу
Ответить с цитированием
  #18 (permalink)  
Старый 18.06.2020, 18:51
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от Poznakomlus
и выше тебе правильно написали, что возможны проекты в которых тот или иной (js,css) генери[рова]лся сервером, затем добавили заголовок ты даже не заметишь разницу
Для генерирования CSS есть препроцессоры, а ваши усложнения структуры проекта очевидно нужны для хвастовства перед заказчиками.

Генерирование исходного кода, заполненного некими данными, означает лишь, что вы не умеете отделять данные от бизнес-логики. Тя́раызэ́ви, ла́чыкызла́йт!

Сообщение от micscr
А что это будет за точка входа eee.php?
Ну это так любят называть PHP-разработчики, чтобы непременно было «точка пфиечпфи́»... А так обычно это одна точка входа, типо /my-api и т. п.

Сообщение от Poznakomlus
формы не стоит кешировать
Формы, отправленные методом POST определённо не стоит. Не стоит и приписывать мне того, что я не писал!

Сообщение от micscr
Это вопрос мировозренческий.
Очевидно когда всё в одну кучу, то всё кажется правильным и хорошим. Но обычно никто не генерирует TypeScript, Java, C# и пр. код при помощи PHP, очевидно и вам стоит узнать про отделение данных от бизнес-логики.

Сообщение от micscr
Например в Yii js код клиентской валидации генерируется автоматически в зависимости от того что в php моделях.
Тут в теме идёт речь о написании кода программистом! Проверь ещё раз сообщение №1. Человек очевидно писал код руками.

Вопрос-то как раз в том, почему вместо использования подходящих инструментов, вы хотите городить костыли при помощи PHP.

Poznakomlus писал про генерирование CSS при помощи PHP. Вы с таким подходом можете совершить кучу ошибок и кто о них вам сообщит? Например, когда мне нужно написать более сложный CSS, код которого может быть проще выражен, например, при помощи циклов, то почему вместо SCSS с его инструментами я должен использовать PHP с нулём возможностей работы с CSS?

Сообщение от laimas
Надо быть либо параноиком, либо упертым фанатиком JS.
Нет, такой формат используется не только в JS. Замерь ещё при помощи своего фанатикоизмерителя YAML, CSV, ProtoBuf и пр.

Последний раз редактировалось Malleys, 18.06.2020 в 18:56.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
<XHR> передача данных из js в php provigator AJAX и COMET 13 13.05.2019 19:24
AJAX или JS ReCaptcha 2.0 без перезагрузки страницы Kiriklk Javascript под браузер 1 19.02.2016 20:27
Передача переменной из JS в PHP Arx777 AJAX и COMET 3 02.04.2015 18:40
Подгрузка информера без перезагрузки страницы splean Общие вопросы Javascript 6 13.03.2009 15:31
Автообновление <div> без перезагрузки страницы Antihrist AJAX и COMET 14 28.07.2008 06:06