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

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

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

Сообщение t9221823420 » 2017.11.23, 09:28

Я не сторонник 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
Profile ENG: https://goo.gl/SsWYj7
Профиль РУС: https://goo.gl/D1QDpg
Полное резюме: https://goo.gl/9LDPFd

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

telegram: 79221236438
skype: praticodesign
email: t9221823420@gmail.com

urichalex
Сообщения: 774
Зарегистрирован: 2015.08.07, 11:03

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

Сообщение urichalex » 2017.11.23, 09:51

js должен быть в js. Если нужно что-то передать из php - можно использовать data-аттрибуты

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

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

Сообщение t9221823420 » 2017.11.23, 10:09

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

P.S. а по существу вопроса?
Ищу работу: https://goo.gl/WuGz1q
Profile ENG: https://goo.gl/SsWYj7
Профиль РУС: https://goo.gl/D1QDpg
Полное резюме: https://goo.gl/9LDPFd

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

telegram: 79221236438
skype: praticodesign
email: t9221823420@gmail.com

urichalex
Сообщения: 774
Зарегистрирован: 2015.08.07, 11:03

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

Сообщение urichalex » 2017.11.23, 10:26

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

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

Ответить