Dmytro
не считаю себя экспертом, но как по мне существует два основных способа передавать данные из php в js
это либо генерация js кода со вставками php
либо вывод в html
SiZE
SiZE
И ниче
Nurik
Dmytro
если я где-то ошибся, пожалуйста, исправьте
SiZE
И как ты из рнр данные подтягиваешь? Аяксом ?
Dmytro
я имел ввиду без дополнительных запросов
SiZE
Не ты
Dmytro
понял, я точнил
SiZE
А он )
SiZE
Просто с js fw понятно
Nurik
SiZE
А с обычными скриптами либы в файлы, вызов в рнр
Dmytro
Nurik
Nurik
Это файл конфигурации.
Dmytro
вам аббревиатуру расшифровать?
SiZE
Короче, не надо рубить с плеча. Все должно быть уместно
SiZE
Или к месту
Nurik
Много неподдерживаемого говна производится на свет.
Nurik
Благодаря вот таким вот registerjs
Dmytro
Вы написали, что json -- это не js и вы тут не правы
во всем остальном это ваше субъективное мнение, у вас есть на него право
если вам удобнее не использовать ф-ии типа registerjs, это не значит, что так должны делать все.
Если эта ф-ия есть в фреймворке, значить часть людей ее используют
Dmitriy
Про Yii::$app в моделях что скажете ?
Dmytro
а можно пример?
Dmytro
Yii::t ипользуют все, а это тот же вызов Yii::$app
Dmitriy
https://github.com/dektrium/yii2-user/blob/master/models/User.php#L356 самый популярный пример
Dmitriy
Нормас, которые используют обычно как я скинул выше
Dmitriy
Что есть плохо
Dmitriy
Dmytro
@ExileeD Вы код этого модуля хорошо смотрели?
Dmytro
https://github.com/dektrium/yii2-user/blob/master/Bootstrap.php#L71
Dmytro
вот вам и гарантия
Dmytro
а компонент user есть в стандартном Application
Dmytro
можете предложить лучший?
Dmytro
лично я использую очень часто
Dmitriy
Модуль ? Или код ?
Dmytro
использую модуль
Dmitriy
Если модуль, но наверно нет. Не видел не одного норм модуля авторизации и регистрации
who are you
dropDownList - как его надо сейвить? через форыч что ли? если там мульти выбор
Dmitriy
Dmytro
Хорошо, тогда может вы мне напишете способ передавать данные в js без этого?
echo json_encode?)
Dmytro
SiZE
Dmytro
https://github.com/dektrium/yii2-user/blob/master/models/User.php#L356
Dmytro
хотя для логина есть еще отдельная модель, но это для формы:
https://github.com/dektrium/yii2-user/blob/master/models/LoginForm.php#L141
Dmitriy
SRP тот модуль нарушает
who are you
в чем хитрость сохранения dropDownList 'multiple' => 'true'?
who are you
load получает массив из формы
who are you
а save хз как делают ))
Dmytro
у вас связаные модели, или что?
who are you
и валидация непонятно как
who are you
связано да
Dmytro
https://github.com/voskobovich/yii2-many-to-many-behavior#creating-form-fields
Dmytro
гляньте
Dmytro
если массив в одно поле надо сохранить, тогда нужно сериализацию делать, чтобы в бд сохранялись как строка
Dmytro
https://github.com/NullRefExcep/yii2-useful/blob/master/src/behaviors/JsonBehavior.php
это пример с json-ом
Nurik
Хорошо, тогда может вы мне напишете способ передавать данные в js без этого?
echo json_encode?)
Я использую файлы конфигураций. Нужно явно разграничивать где фронтенд, а где бэкенд. Т.е. если у Вас будет для каждой страницы JSON конфиг, то Вы всегда явно будете знать, что будет использоваться на каждой из страниц. Даже с учетом того, что у Вас будет сложная логика на фронте(т.е. по сути в одну въюху включать отрендеренные другие, которые по факту могут быть сложным компонентом или виджетом, вот их json конфиги собирать в один),можно собирать конфиги в один, если надо каскадно. И инициализовать один раз.
Передавать конфиг перед инфициализацией js можно разными способами. Выбирайте тот, который будет удобнее. Да, в этом случае может получиться больше файлов, но это намного прозрачнее. Можно всегда в дебагере браузера просмотреть что было передано в конфиг перед инициализацией и таким образом локализовать проблему.
Dmytro
Да, вы правы
Dmytro
Очень правильный подход
Nurik
Я использую файлы конфигураций. Нужно явно разграничивать где фронтенд, а где бэкенд. Т.е. если у Вас будет для каждой страницы JSON конфиг, то Вы всегда явно будете знать, что будет использоваться на каждой из страниц. Даже с учетом того, что у Вас будет сложная логика на фронте(т.е. по сути в одну въюху включать отрендеренные другие, которые по факту могут быть сложным компонентом или виджетом, вот их json конфиги собирать в один),можно собирать конфиги в один, если надо каскадно. И инициализовать один раз.
Передавать конфиг перед инфициализацией js можно разными способами. Выбирайте тот, который будет удобнее. Да, в этом случае может получиться больше файлов, но это намного прозрачнее. Можно всегда в дебагере браузера просмотреть что было передано в конфиг перед инициализацией и таким образом локализовать проблему.
Причём таким способом, вполне можно создавать франкенштейнов, смешивая, разные фреймворки и биндить их, если это возможно.
Nurik
Я имею ввиду JS фреймворки.
Anonymous
Nidzha
Всем Добрый день
Nidzha
Ситуация такая: В профиле пользователя, когда user меняет данные, при сохранении выскакивает ошибка на поле birthday
Nidzha
Дата рождения должен быть date.
Nidzha
echo $form->textField($profile, $field->varname, array('value' => date('d.m.Y', strtotime($profile->{$field->varname})), 'class' => 'datepicker'));
Nidzha
и вот скрипт
Nidzha
<script>
$(document).ready(function() {
$('.datepicker').datepicker({
dateFormat:'dd.mm.yy',
yearRange: '1920:<?= date('Y') ?>',
changeMonth:true,
changeYear:true
});
})
</script>
Nidzha
Все прорыл
Nidzha
В базе тоже поставил все одинаковые
Nidzha
dd.mm.yyyy
Nidzha
Но не в какую, такая же ошибка выходит, в интернете искал без положительных результатов
Nidzha
Кто с таким сталкивался ?