Borys
Любопытно почему
👀
я тут писал длинный текст, объясняющий работу связей в yii2, но решил сделать проще
who are you
ну дык ты посмотри что он там генерит на уровне sql запроса))
👀
Ap::find()->joinWith('groupProfile')->where(['groupProfile.slug' => 'zavod']);
ты на 100% уверен что у тебя в joinWith('groupProfile') будет таблица groupProfile?
👀
я-бы не был так уверен, даже если в Ngpv написано такое название таблицы
👀
yii может где-то что-то обозвать каким-то алиасом
👀
а так - ты указываешь, что для таблицы, которая используется в связи groupProfile нужно использовать алиас gp
👀
и используешь его в where вместо названия таблицы, так как алиас - это, грубо говоря, ссылка на таблицу
SiZE
если кому интересно: zend предлагает формы использовать сразу для вывода и обработки данных
то есть, ты создаёшь форму не как в yii, как модель с данными, а описываешь сразу какой элемент будет какого вида (например, Zend_Form_Element_Text или Zend_Form_Element_Select), прописываешь фильтры\валидаторы, а в конце концов делаешь вывод формы как строки (те echo $form) во вьюхе
получается не очень окей, ибо стилизацию вывода тоже прописываешь в форме как "декораторы"
я использовал стандартную логику форм только в плане создания модели данных, допилил, чтобы можно было использовать на одной странице больше одной формы (проще говоря - formName[fieldName] - кто знает, тот поймёт), ну и хелпер для вывода отдельного элемента формы - типа как в yii $form->field(), только в zend'е у меня это $this->formField())
костыльно, да, но всё же удобней, чем по умолчанию предлагает zend
Вы не верно поняли формы в Й. Форма там не модель с данными.
SiZE
Есть ActiveForm который может использовать модель с данным
SiZE
И есть объект поля.
👀
Да, я знаю
👀
Я имел ввиду под формой прослойку между AR и выводом пользователю
SiZE
В зенде был билдер форм на сколько я помню, который можно было использовать с моделью
👀
Может во втором
Найти для первого зенда что то, во что можно было бы положить логику работы с AR мне не удалось
SiZE
В первом
SiZE
Я с ним лет 5 назад работал, сейчас не вспомню уже что к чему было
👀
По секрету скажу так, что в одном нашем проекте, которым пользуется самый крупный украинский интернет магазин зендовые формы используются только для валидации данных
Обработка данных и их сохранение происходит в экшнах
👀
Но я его не писал)
Alejandro
Парни, существует ли способ отловить вызываемую функцию, чтобы переопределить, типа как для классов отлов метода __ call($fmethod)
Alejandro
Есть приложение, апи которого формируется с помощью функций, типа module_funcname()
Sergey
какой php?
Alejandro
И этих функций в файле надо городить штук 50. Хочу на классы переписать
Alejandro
5.6
Sergey
тебе известно название функции?
Alejandro
Неа, в том то и дело
Alejandro
Если бы было известно, ранкитом можно было бы переопределить
Dmytro
Alejandro
Alejandro
Видимо так и придется делать. Обхявлю объект в начале файла, и в функциях уже буду его вызывать
Dmytro
лучше закиньте все 50 ф-ий в какой-то класс
Alejandro
лучше закиньте все 50 ф-ий в какой-то класс
я это и хочу. Но апи приложения вызывает именно функции, собирая имя функции из параметров, и повлиять я на это не могу, так как приложение безбожно закриптовано ионкубом
Иван
Иван
Ток будет потом иногда всплывать что-нибудь всё равно
Иван
Alejandro
но тут еще есть другой момент. Приложение проверяет, есть ли функция, перед ее вызовом
Alejandro
Иван
Иван
может неймспейсами обмануть можно
Alejandro
ладно, я уже начал писать все нужные функции а в них уже вызываю методы нужного класса. Только вот пришлось класс делать синглтон
Alejandro
да ладно, пофик, я уже начал))
Иван
да ладно, пофик, я уже начал))
я как-то с такими словами начал пилить проект на том, что для него совсем не подходило
Года через полтора закончил. От того на чём пилил мало что осталось 😆
Alejandro
Просто нет того красивого решения, какое хотелось бы использовать) Буду хардкодить нужные функции, а в них вызывать инстанс моего класса
Alejandro
Тут еще руководство такое, они до сих пор в 2007 году живут и кодят соответственно так же
Alejandro
Я ООП втихаря пишу) Ох заябуццо они когда я уйду)))
Амаль
Амаль
WP
Alejandro
Не, там проект не такой
Alejandro
не бложик, сложная архитектура, управление серверами, дц и прочей поеботой
Иван
Alejandro
Да вот думаю тоже, всё самому писать будет бред, тем более я один. Потом с ними порешаем всё таки, либо пошлю их найух
Alejandro
А никто не работал с whmcs?
Dmitriy
Работал
Alejandro
Работал
забыл че хотел по нему спросить
Alejandro
Работал
Вспомнил. Там в вендорах лежит Illuminate/Container. Его как-то в модулях можно использовать? Например зарегистрировать какой-то синглтон и использовать в разных модулях
Alejandro
Он вообще приложением используется где-то?
Alejandro
в документации на его счет нет ничего
Sergey
Alejandro
откуда эти параметры берутся?
названиеМодуля_функция
В папке модулей лежит папка модуля. название модуля - название папки. Там же должен лежать файл с таким же названием как и папка, то есть название модуля. В этом файле нужно/можно прописывать необходимые функции, например function mymodule_FunctionName($params) {}
Приложение сканит модули, потом сопоставляет название модуля и нужные приложению функции. например, она подключила файл модуля и проверяет, есть ли функцйия mymodule_FunctionName, если есть, то вызывает эту функцию
Sergey
насоздавай все функции в цикле
SiZE
Где-то был пример использования ActiveRecord для хранения справочных данных вместо таблицы в БД. Кто-то помнит может ссылку?
Anonymous
Всем привет. Может кто сталкивался с такой проблемой:
в AppAsset указываю
public $sourcePath = '@app/assets/мой-путь';
после это го перестаёт подключатсья бутстрап из public $depends
Артур
всем привет))
Артур
</script><script src="/assets/e542e404/jquery.js"></script>
<script src="/assets/js/dist/jplayer/jquery.jplayer.min.js"></script>
<script src="/assets/js/radio.js"></script>
Артур
подключил скрипты)
Артур
а выбрасывает ошибку
Артур
jPlayer is not a function
Артур
<script src="/assets/js/radio.js"></script> мой скрипт
Anonymous
ты прям так руками их подключаешь? :)
Anonymous
в шаблоне?
Артур
$("#jquery_jplayer_1").jPlayer({ на эту строку)
Артур
Артур
с помощью
Артур
assets
Артур
прописываю
Артур
создал свой файл TestAssets.php