@yii2ru

Страница 78 из 1721
Ilya
15.02.2017
16:05:47
На данный момент нет возможности, поэтому и пишу суда

Aleksandr
15.02.2017
16:06:24
Ilya
15.02.2017
16:06:32
?

Юмористов в этой конфе так не хватало, что просто хочется подождать ответа других

Google
Artur
15.02.2017
16:08:34
я так понял, что можно

Ilya
15.02.2017
16:08:52
Потестил или как?

Artur
15.02.2017
16:09:11
нет, по его словам

Zhandos
16.02.2017
06:17:50
Кто нибудь делал проект со стримингом видео?

Sergey
16.02.2017
06:38:06
Кто нибудь делал проект со стримингом видео?
Делал, но это к yii и php сложно привязать

Zhandos
16.02.2017
06:38:56
На чем такие проекты делаются?

Sergey
16.02.2017
06:39:11
Nginx rtmp

Сейчас бесплатных альтернатив ему нет

Andrey
16.02.2017
07:02:54
Консольный vlc

SiZE
16.02.2017
07:24:06
RSTP + webrtc где-то статья была на ГТ по видеонаблюдению помоему

Sergey
16.02.2017
08:23:31
Ребят такой вопрос: Как правильно организовать обработку событий? Есть два модуля, первый вызывает какое то событие через \Yii::$app->trigger('eventName') А второй модуль должен это событие отловить и в зависимости от своих настроек обработать его или пропустить "мимо ушей"

соль в том что модули подключаются динамические. т.е. в конфиге все модули будут описаны, а вот будет ли модуль работать(и обрабатывать события) зависит от того включен ли он в админ. панели

пробовал такую конструкцию при инициализации второго модуля. public function init() { if($this->moduleEnabled) { self::on('cart.create', 'createCartHandler'); parent::init(); } } но ничего не произошло

Google
Sergey
16.02.2017
08:35:12
это заготовка, если модуль отключен в админке, зачем мне вообще что то с ним делать?

Sergey
16.02.2017
08:35:32
потому что он может наследоваться от другого модуля?

Sergey
16.02.2017
08:35:54
он не наследуется от другого модуля :)

Sergey
16.02.2017
08:36:03
тогда откуда у него parent

Sergey
16.02.2017
08:36:35
autogenerated

в любом случае это не касается моего вопроса

Sergey
16.02.2017
08:37:05
ну ладно, это эстетическое, в java parent:: должен вообще первой функцией вызываться

а по твоему вопросу - откуда взялась запись self::on

Sergey
16.02.2017
08:37:46
из документации

Sergey
16.02.2017
08:37:56
можно ссылку?

Sergey
16.02.2017
08:38:54
можно ссылку?
погоди, тебе есть чем помочь? или мы будем обсуждать эстетику кода?

Sergey
16.02.2017
08:39:53
погоди, тебе есть чем помочь? или мы будем обсуждать эстетику кода?
ок, хочешь односторонее общение - читай http://www.yiiframework.com/doc-2.0/guide-concept-events.html

и сравни с тем что у тебя написано

Sergey
16.02.2017
08:41:00
и сравни с тем что у тебя написано
ты сам то реализховывал обработку событий в собственных модулях?

в доку отправить может каждый, думаю каждый с неё и начинает

но теория - одно, а практическое применение - совсем другое

вопрос был именно к тем кто применял это на практике

Sergey
16.02.2017
08:43:50
вопрос был именно к тем кто применял это на практике
на практике у тебя неправильный код, в документации на yiiframework.com события по другому описаны, откуда ты их взял - ты не хочешь говорить

Google
Sergey
16.02.2017
08:46:30
давай переформулирую вопрос: как повесить обработчик событий при инициализации модуля? не в конфиге!! а именно в методе инициализации модуля

а вообще забей) повешу обработчики в конфиге, а потом просто буду проверять включен ли модуль

да не, фигня идея) Yii поразительный фреймворк который так и просит наговнякать))

Sergey
16.02.2017
09:05:42
Метод on не статический. Неправильно вызываете
уже ближе к конструктивному диалогу :)

Метод on не статический. Неправильно вызываете
А как правильно? Попробую снова описать задачу: Есть несколько независимых модулей которые включаются/отключаются пользователем в админке. Само собой в конфиге они все включены, но при инициализации мы определяем включен ли модуль. Если включен, нам нужно повесить обработчик событий. Как реализовать?

Anatoly
16.02.2017
09:09:14
Ну вот смотри

Ты написал, что событие инициируешь у объекта Yii::$app

А пытаешься поймать его в модуле

Дай пару минут, напишу пример

Если ты инициируешь событие у Yii::$app, то и обработчик нужно вешать туда же: Yii::$app->on('event1', function($event) {echo 'event1';}); Yii::$app->trigger('event1');

Но если у тебя событие имеет прямое отношение к конкретному модулю, можно сделать лучше

Anatoly
16.02.2017
09:14:09
События в Yii можно повесить на весь класс / интерфейс, а не только на его инстанс

В модуле: Event::on(static::class, 'event1', function() {echo 'event1';}); Чтобы вызвать событие: Event::trigger(MyModule::class, 'event1'(;

Конец

Sergey
16.02.2017
09:16:46
Спасибо за развёрнутый ответ. буду пробовать :)

Anatoly
16.02.2017
09:17:34
https://github.com/yiisoft/yii2/blob/master/docs/guide-ru/concept-events.md

Sergey
16.02.2017
09:18:55
в документации всё описано в контексте компонентов, а у меня модули. Может это конечно и не важно, но пока не заставил работать(

Anatoly
16.02.2017
09:19:10
Модуль - это тоже компонент

Module -> ServiceLocator -> Component -> Object

Google
Sergey
16.02.2017
09:20:29
блин, у меня по все видимости модуль даже не инициализируется. поэтому что бы я не делал, обработчики не вешаются.

по все видимости нужен какой то модуль управления модулями(не очень звучит) :) который будет всё это разруливать.

Anatoly
16.02.2017
09:22:32
Модуль можно прописать в bootstrap, чтобы он инициализировался

На уровне конфигурации или даже в composer.json

Admin
ERROR: S client not available

Sergey
16.02.2017
09:23:05
спасибо)

Anatoly
16.02.2017
09:23:19
Пожалуйста

Dmitry
17.02.2017
13:58:21
такой вопрос, есть аякс запрос к методу и там отдаю файл: Yii::app()->getRequest()->sendFile($filename, $content, "text/csv", false); как его принять и открыть аяксом? Или можно как-то ссылку сгенерить

Antony
17.02.2017
14:01:14
sendFile вроде как нужен для force download. Ты можешь отдавать содержимое файла сразу, прочитав его file_get_contents к примеру

Dmitry
17.02.2017
14:20:28
Нашел короче как аяксом принять и открыть это файл)

Konstantin
17.02.2017
14:21:13
ну и как? это сделать

Виталий
17.02.2017
14:23:23
но лучше так не делать :)

файлы должен отдавать сервер статики. Иначе память будет просто улетать от такое реализации :)

Konstantin
17.02.2017
14:24:53
если файл отдавать потоком то проблем не должно быть

ну то бишь прочитали кусок и отдали и так далее а не весь файл в память и отдавать

Antony
17.02.2017
14:28:43
Я бы просто ajax'ом сразу читал содержимое csv, в обход роутов. Через роут если нужна проверка прав пользователя на доступ.

Anatoly
17.02.2017
14:33:24
readfile() в php вам подойдет. Ну а вообще, я бы натравил nginx просто на него

Dmitry
17.02.2017
14:37:08
https://github.com/henrya/js-jquery/tree/master/BinaryTransport

вот это заюзал

Google
Dmitry
17.02.2017
14:38:45
Наверное костыль, но сойдет в этой ситуации)

Antony
17.02.2017
14:39:58
вот это заюзал
А Yii нужно для прав доступа к файлу? Если нет то лучше пусть nginx отдает файлы. Можно location.href установить для открытия файла.

Dmitry
17.02.2017
14:40:46
и получается оно даже файл не сохраняет, на лету создается же

Artur
17.02.2017
14:47:37
Как врубить cors ? прописал в бехавиорс это: public function behaviors() { return \yii\helpers\ArrayHelper::merge(parent::behaviors(), [ 'corsFilter' => [ 'class' => \yii\filters\Cors::className(), 'cors' => [ // restrict access to 'Origin' => ['http://localhost', 'https://localhost'], 'Access-Control-Request-Method' => ['POST', 'PUT', 'GET'], // Allow only POST and PUT methods 'Access-Control-Request-Headers' => ['X-Wsse'], // Allow only headers 'X-Wsse' 'Access-Control-Allow-Credentials' => true, // Allow OPTIONS caching 'Access-Control-Max-Age' => 3600, // Allow the X-Pagination-Current-Page header to be exposed to the browser. 'Access-Control-Expose-Headers' => ['X-Pagination-Current-Page'], ], `` ], ]); } Не помогло, выжает ошибку XMLHttpRequest cannot load https://api.dilema.me/api/v1/users/expert?offset=0&limit=20. The 'Access-Control-Allow-Origin' header contains multiple values 'http://localhost, : *', but only one is allowed. Origin 'http://localhost' is therefore not allowed access.

ivphpan
17.02.2017
14:48:00
ммм

public function behaviors() { $behaviors = parent::behaviors(); unset($behaviors['authenticator']); $behaviors['corsFilter'] = [ 'class' => Cors::className(), ]; $authAction = $this->authAction(); if ($authAction && !$this->isOptions()) { $behaviors['authenticator'] = [ 'class' => HttpBearerAuth::className(), 'only' => $authAction, 'except' => ['options'], ]; } return $behaviors; }

Antony
17.02.2017
14:49:28
и получается оно даже файл не сохраняет, на лету создается же
А к чему тогда Yii::app()->getRequest()->sendFile($filename, $content, "text/csv", false); Я так понимаю sendFile требует наличия физически файла. В случае с csv он не такой уж большой по объему, можно обойтись без BinaryTransport кмк. dataType: 'html' В контроллере FORMAT_RAW И по идее точно так же результат можно упаковать через URL.createObjectUrl

Виталий
17.02.2017
16:36:28
https://vk.com/landingcrm?w=wall-140428863_7 ?

Andrey
17.02.2017
16:45:32
Спам пошёл)

Андрей
17.02.2017
17:29:28
Не, это свои )

Andrey
17.02.2017
17:31:57
))

Вот эта фраза конечно улыбает - "В команду молодого проекта требуются специалисты, готовые работать за опыт." ?

Sidredin
17.02.2017
17:47:35
За опыт можно и свои проекты делать.)

Андрей
17.02.2017
17:52:31
В команде другой опыт, это нельзя сравнивать.

Страница 78 из 1721