pavel
но буду рад взглянуть на ваш способ этого всего)
SiZE
тестирование? не, не слышал )))
Sergey
Toly
С табами погорячился, упустил детали.
Виталий
\Yii::beginProfile($key); принимает строку, а в функцию get() приходит mixed
Виталий
Получается, ошибка
Виталий
Есть идеи, как сделать записи в логе более информативными?
Виталий
md5-хеш вряд ли является информативным
Виталий
Andrey
А так привычка хорошая
Toly
Виталий
Как это поможет уменьшит diff?
Toly
Code-Style condition всегда с оглядкой на этот фактор разрабатывается.
Sergey
Toly
Коммит 1:
+ \Yii::beginProfile($key);
+ \Yii::endProfile($key);
Коммит 2:
// Кому-то понадобился импорт для чистоты кода (речь не обязательно об \Yii)
+ use Yii;
- \Yii::beginProfile($key);
+ Yii::beginProfile($key);
- \Yii::endProfile($key);
+ Yii::endProfile($key);
Sergey
Toly
Следующему контрибьютору придётся вносить изменения, которые для реализации его собственной функциональности не необходимы, однако, для соблюдения консистентности они нужны.
Sergey
Toly
Это попытка подъебать?
Sergey
почему ему придется вносить эти изменения?
Toly
Потому что в каких-то местах будет \Yii, а в каких-то Yii, что нарушает консистентность кода
Sergey
наличие функций с одним return и несколькими тоже нарушает консистентность кода?
Toly
Речь идёт о Code-Style, вопрос не в тему имхо
Sergey
use в алфавитном порядке?
Toly
Ну, это уже перебор, нет?)
Sergey
т.е. то что ты используешь - это консистентность кода, то что не используешь - это перебор
Toly
В некоторых ситуациях это может помогать при сложных слияниях, но это будет требовать постоянного внимания. В случае выше любая IDE может помочь импорнуть класс не отвлекая. Поэтому пмсм это перебор
Sergey
есть PSR, есть codesniffer, если твой код проходит через них то владельцу продукта без разницы используешь ты use или абсолютные пути, а использование своих практик в чужом монастыре не приветствуется
Toly
Ну это же ядро фреймворка. Qiang Xue мне в своё время по рукам надавал за такие коммиты
Toly
Неужели всё это было зря
Toly
Sergey
Неужели всё это было зря
суровый мир opensource
https://github.com/yiisoft/yii2/blob/master/framework/console/controllers/HelpController.php#L185
Sergey
https://github.com/yiisoft/yii2/blob/master/framework/base/ErrorHandler.php#L111
SiZE
Виталий
Если уважаемый Qiang Xue ведёт стандарты по оформлению merge-request, и мой коммит ему не соответствует, готов внести изменения. Но стандарт должен быть публично объявлен.
Виталий
Может, по функциональности есть предложения?
Дмитрий
Привет, как на yii2 запретить одновременно заходить под одним логином?
Sergey
запретить в смысле не пускать или запретить в смысле разлогинивать все предыдущии сессии?
Максим
Кто-то уже решал задачу отправки логов в Telegram?
Anatoliy
Дмитрий
Не пускать
SiZE
mr.
Привет анонимным изучателям yii2 и контрибьюторам)
Максим
Виталий
https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js#L701
Виталий
Почему сначала вызывается afterValidateAttribute, а потом у этого атрибута меняется статус?
Виталий
Написал обработку function hasError($form) {
var attributes = $form.yiiActiveForm('data').attributes;
var hasError = false;
for (var i = 0; i < attributes.length; i++) {
if (attributes[i].status !== 1) {
hasError = true;
break;
}
}
return hasError;
}
Виталий
Но она не работает, потому что status=1 ещё не присвоен
Dmitry
Нужны мидл+ на удалёнку фултайм. Стучитесь в личку!
Виталий
PJAX + клиентская валидация + сценарии ActiveForm не работают вместе?
Виталий
Скиньте пример, если есть рабочий
SiZE
Работают
Виталий
Надо отправить форму onChange при прошедших валидацию полях, указанных в сценарии, как это сделать?
Виталий
Иными словами, первый шаг, как заставить pjax отправить форму без нажатия на submit?
SiZE
Я не у компа надо курить yii.activeform.js
SiZE
По необходимости расширять объект формы
imcarrow
Всем привет.
Подскажите, пожалуйста, как в обработчике события afterValidateAttribute получить статус валидации всей формы, чтобы удалить атрибут disabled у кнопки(submit)?
Antony
afterValidateAttribute выполняется после валидации одного аттрибута.
Смотри в сторону afterValidate
/**
* afterValidate event is triggered after validating the whole form.
* The signature of the event handler should be:
* function (event, messages, errorAttributes)
* where
* - event: an Event object.
* - messages: an associative array with keys being attribute IDs and values being error message arrays
* for the corresponding attributes.
* - errorAttributes: an array of attributes that have validation errors. Please refer to attributeDefaults for the structure of this parameter.
*/
afterValidate: 'afterValidate'
Ну и вообще глянь тут как все работает https://github.com/yiisoft/yii2/blob/master/framework/assets/yii.activeForm.js
В случае чего можно переопределить yii\widgets\ActiveFormAsset и задать свой обработчик yii.activeForm.js
Mikhail
Exception – yii\base\Exception
Failed to create directory "/var/www/site/runtime/logs": mkdir(): Permission denied
Что-то я не вкурил. Вроде, и 777 выставил, и владельцем поставил nginx:nginx.
Mikhail
Что я упустил?
Toly
nginx не создаёт директорию, это делает обычно php-fpm, смотри из под какого юзера он запущен
Mikhail
Ща
Mikhail
$ ps aux | grep php-fpm
root 12735 0.0 0.4 276216 15656 ? Ss 00:03 0:00 php-fpm: master process (/etc/php-fpm.conf)
nginx 12739 0.0 0.3 279284 13304 ? S 00:03 0:00 php-fpm: pool www
nginx 12740 0.0 0.2 278300 8780 ? S 00:03 0:00 php-fpm: pool www
nginx 12741 0.0 0.2 278300 10592 ? S 00:03 0:00 php-fpm: pool www
nginx 12742 0.0 0.2 278300 8780 ? S 00:03 0:00 php-fpm: pool www
nginx 12743 0.0 0.3 279284 13304 ? S 00:03 0:00 php-fpm: pool www
user 13737 0.0 0.0 118516 2248 pts/3 S+ 00:19 0:00 grep —color=auto php-fpm
Toly
Пробуй
sudo -u nginx mkdir <dir>
Если прав нет, то проблема имеет системный характер
Toly
Убедись, что у тебя selinux не стоит в системе, например
Mikhail
Стоит :(
Mikhail
Fedora 23, есличё.
Toly
Mikhail
У меня user не в sudousers
Mikhail
user — это логин
Mikhail
А как выполнить это из-под рута?
Toly
Так же
Mikhail
# sudo -u nginx mkdir /var/www/rap/runtime/logs
Mikhail
Отлично создался каталог
Mikhail
Отключил selinux — заработало. Спасибо.
Mikhail
public function actionIndex()
{
return $this->render('//index/main');
}
По какому принципу выбирается layout?