• Как создать приватный чат на symfony?

    2 дня голову ломал, вот решение: сразу после соединения с клинта посылаем id (ну или какое то свойство, которое будет служить идентификатором пользователя), взятый откуда угодно, допустим из input[hidden].

    conn.onopen = function(e) {
        conn.send(JSON.stringify({userId : document.getElementById('user_id').value}));
    };


    Дальше нужно динамически записать этот id в свойство объекта: ConnectionInterface $conn

    public function onMessage(ConnectionInterface $from, $msg)
    {
            $data = json_decode($msg);
    
            if (property_exists($data, 'userId')) {
                $userId = $data->userId;
                $from->userId = $userId;
    
                $this->users[$userId] = $from;
            } else {
                $this->users[$data->to]->send($msg);
            }
    }

    Т.е парсим прилетевший к нам Json, и смотрим, если есть специальный флаг userId, то просто приклеим к нашему объекту подключения. Думаю понятно, остальное сами дофантазируете :)
    Ответ написан
    3 комментария
  • Зачем нужны спринты в SCRUM? Как поставить цель спринта?

    @JustRoo
    Нужен кому?

    Менеджерам проектов спринты нужны для предсказуемости и планирования - чтобы знать, сколько фич команда может запилить за определённый промежуток времени.

    Команде - во-первых, для защиты беклога (в этот спринт она фокусируется на фичах А и Б и не отвлекается ни на что другое), во-вторых, для улучшения собственных результатов. Со спринтами можно говорить "раньше мы делали 12 сторипоинтов за спринт, а теперь делаем 15, мы молодцы" (я, понятно, упрощаю), без спринтов команда лишается метрик и, соответственно, возможности отлаживать процессы. Плюс внедрить рефлексию в жизнь команды без спринтов намного труднее.

    Если не удаётся поставить одну большую цель на спринт, ставьте несколько маленьких и независимых друг от друга, в чём проблема.
    Ответ написан
    1 комментарий
  • Какой лучший учебник по линейной алгебре

    Aldorr
    @Aldorr
    Учился на матфаке. На все время «Курс высшей алгебры — Учебник — Курош А.Г. — 1968» хватило более чем.
    Ответ написан
    Комментировать
  • Какой лучший учебник по линейной алгебре

    maeln0r
    @maeln0r
    Из патриотизма предложу вот эту книгу.

    В. А. Ильин, Э. Г. Позняк Линейная алгебра, М.: Наука — Физматлит, 1999.

    Можно приобрести в МГУ или сети магазинов АРГУМЕНТ. Наверняка и еще где то.
    Ответ написан
    1 комментарий
  • Какой лучший учебник по линейной алгебре

    FINTER
    @FINTER
    Тыртышниктов Е. Е. «Матричный анализ и линейная алгебра»
    Евгений Евгеньевич является одним из сильнейших специалистов по линейной алгебре в мире. Преподает в МГУ и ФизТехе.

    Его лекции, на мой взгляд, являются лучшими для понимания и при этом позволяют получить не просто знания, но и твердое понимание предмета (это я говорю как человек, который параллельно слушал лекции Ильина, того самого, чья книга предложена в первом ответе).

    Вначале предлагается обучиться инструменту линейных оболочек, а потом с помощью этого мощного инструмента показывается все красота линейной алгебры. При этом лекции читаются легко, что для математического пособия в принципе редкость.

    Освоив эту книгу полностью вы будете с гордостью говорить: «Тензоры? Тензоры — это просто =)»
    Ответ написан
    2 комментария
  • Стоит ли делать интернет-магазин на Sylius?

    Maksclub
    @Maksclub Куратор тега PHP
    maksfedorov.ru
    Сейчас проект выстрелил вроде -- крутой код, куча всего
    Есть REST API, поддержка акутальных версий Симфони, крутая документация

    Что взяли в итоге?
    Ответ написан
    Комментировать
  • Стоит ли делать интернет-магазин на Sylius?

    dllweb
    @dllweb
    выбирай себе удобный, не нужно бегать за советами, мой тебе совет. Смотри больше в сторону возможности интеграции и импортов разных форматов для импортирования товаров
    Ответ написан
    Комментировать
  • Какой micro framework посоветуете?

    @semki096
    Я пока предпочёл Slim. Из коробки не только роутер но и самое необходимое - реализация DI через Pimple, сессии, middleware итд. Твиг или Eloquant подключаются легко как родные. Документация на высшем уровне. Я очень доволен.
    Ответ написан
    Комментировать
  • Как создать приватный чат на symfony?

    skobkin
    @skobkin
    Гентушник, разработчик на PHP и Symfony.
    1. Включить голову, перестать надеяться, что на всё, что вам захочется есть готовое решение.
    2. Написать логику чата, которая будет отправлять сообщения только тому, кому они адресованы.
    3. Если хотите помощи с не работающим кодом - приводите код.
    Ответ написан
  • Как добавить новый action в SonataAdmin?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    То, что вам нужно - batch action.
    Очень детально описано вот тут - https://symfony.com/doc/master/bundles/SonataAdmin...
    Ответ написан
    Комментировать
  • Как перейти с laravel на symfony?

    DarkRaven
    @DarkRaven
    разработка программного обеспечения
    Как человек, который это сделал, могу сказать, что сложностей особых нет. Документация хорошая, проблемы решал быстро.
    Собственно переход был в виде переноса проекта, сделанного на Laravel на Symfony. Многие моменты переносились через Ctrl+C -> Ctrl+V. Я, конечно, утрирую - но к сути близко, т.к. сам Laravel использует внутри себя Symfony Components.

    Проблемы были - особенно проблемы с админкой, с формами - но это было незнание компонента и решались они поэтапно, по мере изучения документации и вопросов на stackoverflow.
    Ответ написан
    4 комментария
  • Как правильно применить Symfony Validator?

    voronkovich
    @voronkovich
    Я бы логику построения ограничения вынес в отдельный класс, что-нибудь вроде ShippingConstraint, для повторного использования (и чтобы не засорять контроллер деталями валидации). См. symfony.com/doc/current/validation/custom_constrai...

    Тогда ваш код будет выглядеть как-то так:

    $validator = Validation::createValidator();
    
    $violations = $validator->validate([
        'shippingFirstName' =>$_REQUEST['shippingFirstName'],
        'shippingLastName' => $_REQUEST['shippingFirstName'],
    ], new ShippingConstraint());
    
    if (count($violations) !== 0 ) {
        foreach ($violations as $violation) {
            echo $violation->getMessage().'<br>';
        }
        exit;
     }
    Ответ написан
    Комментировать
  • Как правильно прописать права на запись в Vagrant и Docker?

    olegbukatchuk
    @olegbukatchuk
    Full-Stack Web/DevOps
    Приветствую.
    1. NFS это не совсем правильный путь при использовании Vagrant'a.
    2. Лучше всего использовать директиву machine.vm.synced_folder для примера привожу рабочий конфиг для Vagrant'a.

    p.s.
    • hostname_your_virtual_machine - заменить на ваше имя виртуальной машины.
    • 192.168.10.10 - заменить на ip-адрес который вы хотите видеть на виртуальной машине.
    • /Users/user/mount_folder_name - заменить на абсолютный путь к директории которую вы мотируете в виртуальную машину из macOS.

    nodes = {
      "hostname_your_virtual_machine" => "192.168.10.10"
    }
    
    Vagrant.configure("2") do |config|
      config.vm.box = "debian/stretch64"
      config.vm.box_url = "debian/stretch64"
      nodes.each do |name, ip|
        config.vm.define name do |machine|
          machine.vm.synced_folder "/Users/user/mount_folder_name", "/var/www/symfony"
          machine.vm.hostname = "%s" % name
          machine.vm.network :private_network, ip: ip
          machine.vm.provider "virtualbox" do |v|
            v.customize ["modifyvm", :id, "--memory", 2048]
            v.customize ["modifyvm", :id, "--cpus", 2]
          end
        end
      end
    end
    Ответ написан
    Комментировать
  • Как загружаются сервисы в symfony?

    voronkovich
    @voronkovich
    Небольшая поправка - лучше, вместо "кэшированный" контейнер говорить "скомпилированный". Последнее лучше отражает суть.
    По поводу вопроса. Насколько я понял, по некоторым причинам имена классов при компиляции могут содержать символ $, поэтому имя класса нельзя вывести обычным способом. См. здесь: https://github.com/symfony/symfony/pull/19681/file...
    Ответ написан
    Комментировать
  • На чем делать бету сайта?

    @D3lphi
    Пока рассматриваю Yii2 и Symfony2, т.к. больше особо ничего и не знаю :) Склоняюсь к yii, даже не знаю почему.
    Не знаю, стоит ли рассматривать Angular и т.п.?

    А почему вы ставите в один ряд Yii, Symfony и Angular (Который, вообще-то javascript фреймворк)? Судя по тэгам вопроса, вы будете использовать только php-фреймворк.

    Собственно вопрос в том, на чем можно реализовать и что будет лучше поддаваться масштабированию в дальнейшем? Что легче поддерживать и для чего будет проще найти специалиста? Возможно есть другие варианты?


    Ну смотрите:

    • Реализовать можно и на том и на том.
    • Проект будет быстрее реализован на Yii.
    • Поддаваться масштабированию будет лучше Symfony.
    • Поддерживать проект на Symfony будет легче.
    • Найти специалиста на Yii на порядок проще и дешевле.


    Если у вас намечается действительно что-то серьезное, то я бы порекомендовал писать это "что-то" исключительно на Symfony. Можете попробовать реализовать "черновик" (бету) на yii, laravel'е, это будет быстро и более дешево. Но опять же, повторюсь, сам проект лучше писать с использованием Symfony.
    А вообще, выбор технологий зависит от задачи. Вполне возможно, что вам гораздо больше подойдет что-то на javascript'е.
    Ответ написан
    1 комментарий
  • Какой фреймворк выбрать для подобного?

    AmdY
    @AmdY
    PHP и прочие вебштучки
    Вам любой фреймворк подходит. В laravel очереди из коробки, но в интернете масса пакетов для очередей и добавить их в свой composer.json не будет проблемой. Единственно, судя по описанию, всякие rabbitMQ это оверхед, лучше использовать очередь на основе драйвера с БД или Redis
    Ответ написан
    Комментировать
  • Как на все роуты повесить авторизацию?

    @DmitrSha
    да, нужно использовать middleware, группировки роутов по необходимости
    Видео курс Authentication with Slim 3
    Ответ написан
    Комментировать
  • Social NetWork | Как реализовать роутинг PHP?

    @D3lphi
    Чем маршрутизация для социальной сети принципиально отличается от маршрутизации интернет-магазина, например?

    Не нужно ничего реализовывать. Все уже сделали за вас. В интернете полно готовых роутеров. Вот, как вариант, "симфонический роутер".
    Ответ написан
    Комментировать