Как лучше "смешивать" PHP и Javascript во View?

Обсуждаем, как правильно строить приложения
Ответить
Аватара пользователя
t9221823420
Сообщения: 37
Зарегистрирован: 2017.08.23, 10:52
Контактная информация:

Как лучше "смешивать" PHP и Javascript во View?

Сообщение t9221823420 »

Я не сторонник JS-код размещать прямо во View. С другой стороны, выносить каждый раз код в отдельный (index/view/update).js файл тоже неудобно по следующим причинам:
1) js-кода может быть всего пара строк
2) иногда необходимо вывести разные блоки js-кода и условия их вывода могут быть совсем нетривиальные и без PHP не обойтись
3) выводить код в JS-переменные только ради того, чтобы избавиться от PHP ... ну это такое ...
4) в данном контексте вопрос о том, насколько это решение "удобно/неудобно" для front-а меня мало волнует

Для себя пока выработал следующее решение: весь JS-код находится в одном PHP-файле, но в разных View используется только необходимая для этого View часть/section

Код: Выделить всё

// app/views/some-action.php
<?php $this->registerJs( $this->render('_js.php', ['section' => 'sectionName'] + $vars), $this::POS_READY ); ?>

<?php $this->registerJs( $this->render('_js.php', [
	'section' => 'sectionName',
	'url' => Url::to(['/some/action', 'foo' => $bar]),
	'foo' => $bar,
]), $this::POS_READY );?>

// app/views/_js.php
<? switch($section) : case 'onload' : ?>

$(function() {
  
});

<? break; case 'sectionName' : ?>

// some code for sectionName

<? break; endswitch; ?>
Какие решения порекомендуете, чтобы как в том анекдоте было - "и волки сыты и овцы целы"?
Ищу работу: https://goo.gl/WuGz1q
GitHub: https://goo.gl/2XAqy5
Резюме на HH (рус):https://goo.gl/Ay3YmC
Резюме на HH (eng):https://goo.gl/gxyd1X

Стоимость работ: от $25 час

тел/vbr/wsp: 79221236438
skype/tlgrm: t9221823420
email: t9221823420@gmail.com
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Как лучше "смешивать" PHP и Javascript во View?

Сообщение urichalex »

js должен быть в js. Если нужно что-то передать из php - можно использовать data-аттрибуты
Аватара пользователя
t9221823420
Сообщения: 37
Зарегистрирован: 2017.08.23, 10:52
Контактная информация:

Re: Как лучше "смешивать" PHP и Javascript во View?

Сообщение t9221823420 »

ага. я читал. спасибо.

P.S. а по существу вопроса?
Ищу работу: https://goo.gl/WuGz1q
GitHub: https://goo.gl/2XAqy5
Резюме на HH (рус):https://goo.gl/Ay3YmC
Резюме на HH (eng):https://goo.gl/gxyd1X

Стоимость работ: от $25 час

тел/vbr/wsp: 79221236438
skype/tlgrm: t9221823420
email: t9221823420@gmail.com
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Как лучше "смешивать" PHP и Javascript во View?

Сообщение urichalex »

t9221823420 писал(а): 2017.11.23, 10:09 ага. я читал. спасибо.

P.S. а по существу вопроса?
А по существу вопроса: js должен быть в js. Если нужно что-то передать из php - можно использовать data-аттрибуты
Ответить