Задать вопрос
  • Как в Ларавел передать объект из middleware в контроллер?

    Миддлвейры не предназначены для пропихивания чего-то в контроллер. Они обрабатывают реквест и либо перекидывают его следующему миддлвейру (и так до конца), либо возвращают ответ (который прервет исполнение).

    Если этот адский велосипед вы пишете только для того, чтобы авторизовывать пользователей и получать инстанс текущего пользователя, то в Ларе это уже из коробки реализовано.
    Ответ написан
    1 комментарий
  • Как добавить новый div при нажатии на кнопку?

    @Lord_Dantes
    Через PHP никак, это ведь серверный язык который обработается еще до показа странички. Только через JS мб
    Ответ написан
    Комментировать
  • Как увеличить время жизни Cookie?

    bootd
    @bootd
    Гугли и ты откроешь врата знаний!
    т.к. с Coockie я раньше не работал
    ну так может загуглить php cookie?
    Много ума не нужно, просто перезаписать куку с нужной вам датой
    Ответ написан
    Комментировать
  • Почему меняется последовательность вывода продуктов sql?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Нет, просто ни `p`.`sort_order`, ни `p`.`name` не входят в выборку. А в старых версиях MySQL при группировке любые поля, не входящие в условие группировки либо в агрегатные функции берутся из любой строки, попавшей в группу. В новых версиях такой запрос вообще выдаст ошибку.
    SELECT `p`.`product_id`, `p2s`.`price`
      FROM `product` AS `p`
      JOIN (
        SELECT `product_id`, MIN(`price`) AS `min_price`
          FROM `product_to_supplier`
          WHERE `price` > 0 AND `quantity` > 0
          GROUP BY `product_id`
      ) AS `p2s` ON `p2s`.`product_id` = `p`.`product_id`
      WHERE `p`.`status` = '1' AND `p`.`date_available` <= NOW() 
        AND `p`.`manufacturer_id` = '5011' 
      ORDER BY `p`.`sort_order` ASC, LCASE(`p`.`name`) ASC
      LIMIT 0,15
    Ответ написан
    2 комментария
  • Почему не изменяется строка javascript?

    Трудно сказать, поскольку код мягко говоря не очень. Включите вывод ошибок в php и смотрите в лог.
    Может быть не работает $('#nones').load("get.php"), посмотрите oncomplete либо втыкайте в консоль.
    Ответ написан
    2 комментария
  • Как оптимально питаться при работе головой?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    У кого какие секреты по поддержанию "боевой" формы котелка? Что едите и пьете для более эффективной интеллектуальной работы?


    По моему (возможно субъективному) опыту новые вкусы и запахи еды "прочищают мозг" так же хорошо, как и прогулки по незнакомым местам и другие перемены. И, в отличии от многих занятий, кулинарные эксперименты доступны - не нужно никуда ехать или тратить кучу денег. Причем совершенно не важно, что именно употреблять в пищу, важно постоянно пробовать новое. Если долго питаться одним и тем же, то и голова начинает хуже соображать, не важно какой там состав у продуктов. Так что мне кажется, что вот эти все подсчеты белков, углеводов и всего прочего - от лукавого, работают исключительно в первый момент, когда у человека резко изменяется рацион и на контрасте самочувствие мозга улучшается, если можно так сказать. И не забывайте, что убирая продукты из оборота очень легко провафлить пропажу определенных витаминов из употребления, что организму точно на пользу не пойдет, а при разнообразном питании такого не случится.
    Ответ написан
  • Route Parameters для нескольких контроллеров?

    @Kostik_1993
    Web Developer
    В вашем случае сам по себе Фреймворк бессилен. С этого момента начинается работа над архитектурой приложения. Для решения вашей задачи без использования каких-либо примесей в адресе единственным правильным и универсальным решением будет создание дополнительной таблицы которая будет содержать в себе префикс адреса, тип записи и ее id
    Для осуществления данной затеи смотрите полиморфные связи
    Роут у вас будет один, также и контроллер нужно создать который и будет заниматься обработкой
    Ответ написан
    Комментировать
  • Можете оценить фреймворк?

    Konata69lol
    @Konata69lol
    backend developer (php/go)
    С этим фреймворком вы наверняка провалите проект, т.к. будете вместо написания бизнес логики дописывать
    сам фреймворк, прикручивать к нему недостающие компоненты, фиксить баги и т. д.
    Ответ написан
    Комментировать
  • Как управлять миграциями в prod, если функционал выходит в разное время?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Единственное что вас спасет это:
    - атомарные изменения (миграции отдельно, код по каждой фиче отдельно)
    - последовательный деплой (сначала миграции, потом код и т.д.)
    - избавиться от процедур и функций в бд
    - ввести сервисную или даже микросервисную архитектуру, избавившись от связанности

    а лучше все выше перечисленное
    Ответ написан
    4 комментария
  • Плоха ли описанная архитектура, для laravel?

    Wolfnsex
    @Wolfnsex
    Если не хочешь быть первым - не вставай в очередь!
    Чем это хуже подхода - когда вся логика распологается в сервисах, и в целом чем плох такой подход?
    Он ничем не хуже и не лучше. Пакеты - это одно, сервисы - другое, а Вы их зачем-то "складываете в одну корзину". Что по сути своей представляет пакет? - пакет - это некий модуль, решающий какую-то конкретную задачу, поддерживаемый и обслуживаемый конкретным веднором. В массе своей пакеты никак не привязаны к тому, где и как они будут использоваться. То есть, пакет - это некий набор общей логики, процессов и т.д. для решения какой-то задачи (или набора схожих/связанных задач), например для обработки изображений.

    Сервис или какая-то иная часть приложения - это часть именно конкретного (вашего) приложения, то есть что-то, что написано и предназначено конкретно для данного приложения, а не для универсального решения общих задач. Пакет - логическая противоположенность этому.

    Не стоит забывать, что чем более универсальным является какое-то решение (аки "швецарский нож") - тем хуже оно решает конкретную задачу. Это же полностью применимо и к тому, что описываете Вы. Если Вы будете делать некие универсальные решения и складывать их в пакеты:
    1. Потеряете выраженность решений
    2. Потеряете производительность
    3. Получите на обслуживание много приложений (пакетов) вместо одного конкретного

    Если же Вы собираетесь складывать в пакеты не "универсальные решения", а "точечные" - то это на мой взгляд худший из возможных вариантов, так как это будет всё то же "размазывание кода", только убранное в другую папку, с глаз долой, плюс к этому добавятся все прелести связанные с обслуживанием пакетов.

    "Не гадить в код" - это искусство и опыт, которые никакой "пакет" не заменит.
    Ответ написан
    1 комментарий
  • Как работает функция построения дерева?

    судя по распечатке массива, где-то ошибка: функция предполагает, что в неё передаётся хэш ( то есть массив, у которого ключи - значимы), а у вас приведён список ( ключи не несут информации ).
    Может, поэтому и непонятен результат работы функции. $arr должен быть таким:
    $arr = [685 => [
        'id' => 685,
        'title' => 'Комплектующие к Apple',
        'parent' => 0
      ],
      691 => [
        'id' => 691,
        'title' => 'Запчасти к iPad',
        'parent' => 685
      ],
      692 => [
        'id' => 692,
        'title' => 'Запчатси к iPhone',
        'parent' => 681
      ]
    ];

    Плюс в последнем элементе подозрительное значение у ключа parent ( больше подходит 685 ).
    Ответ написан
    Комментировать
  • Вернуть из степени?

    Sanasol
    @Sanasol Куратор тега PHP
    нельзя просто так взять и загуглить ошибку
    echo sprintf('%f', $var);
    echo number_format($var, 6);
    Ответ написан
    Комментировать
  • А какой шаблон проекта на Laravel у Вас?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    - метод контролера один, но используется GET переменная «json», скажем. Добавляем блок if, если переменная присутствует, то отдаем json, иначе отдаем view. Но тоже, как-то не кошерно смотрится…
    Это по тому что это должны быть разные контроллеры, один для вебморды, один для API/app.
    Ответ написан
    2 комментария
  • Почему не подключается pusher в Laravel-приложении?

    Kulaxyz
    @Kulaxyz Автор вопроса
    Могу лучше
    В общем решил проблему путем прослеживания каждого файла по ходу выполнения скрипта. Оказалось, что ошибка в файле broadcasting.php
    там cluster берётся из env('PUSHER_CLUSTER)
    Проблема в том, что в env файле это поле записано, как PUSHER_APP_CLUSTER
    Отсюда и все беды, не знаю, это с коробки такие настройки, или я где-то не то скопипастил, но в общем будьте осторожны с этим)
    Ответ написан
    Комментировать
  • Как создать ассоциативный массив без нумерации?

    IgorPI
    @IgorPI
    Пример на Json'e, То что получается


    Удивительно, каким это образом получается невалидный JSON

    Это не правильный JSON
    {"0": {"STEAM_0:1:421410864": 2}, {"STEAM_0:1:27660088": 1}}


    Вот это правильный JSON
    {
      "0": [
        {
          "STEAM_0:1:421410864": 2
        },
        {
          "STEAM_0:1:27660088": 1
        }
      ]
    }


    Создавайте массив объектов, так как свойства у вас динамические.
    Что если вам нужно будет добавить ещё какое-нибудь свойство?
    Вот что вам нужно, с точки зрения правильной логики
    [
      {
        "STEAM_0:1:421410864": 1
      },
      {
        "STEAM_0:0:109168821": 0
      },
      {
        "STEAM_0:0:138268647": 2
      }
    ]


    На случай расширения
    [
      {
        "STEAM_0:1:421410864": 1,
        "balance": "500"
      },
      {
        "STEAM_0:0:109168821": 0,
        "balance": "129"
      },
      {
        "STEAM_0:0:138268647": 2,
        "balance": "100"
      }
    ]


    Да, свойства тоже можно перебрать в цикле, но вы лишаете себя использовать функции для работы с массивами.
    Ответ написан
    Комментировать
  • Есть ли реальная замена Java в Энтерпрайзе?

    Сейчас есть фактически 4 энтепрайз платформы (связки систем):

    1. Java платформа (Java/Scala/Kotlin). Это не просто язык, это целая экосистема на которой строят проекты. Главным образом используется в финтехе, логистики и телекомуникациях (90% всех вакансий будет туда). Тут в любом случае начинаешь с Java, а остальное учишь по необходимости
    2. .Net платформа (.net/.net core). Платформа от майкрософт, где главный рабочий язык c# (но есть и visual basic). Сейчас активно развивается, но кто его знает, что с ней в итоге будет (т.е. стрельнет и отберет долю Java или останется так, как сейчас). Госкомпании, реальный сектор, автоматизация производства
    3. Php (Главным образом Symfony). Чаще всего это компании, которые начинали с каких-то небольших проектов, но потом выстрелили и стали зарабатывать хорошие деньги (JivoSite/Скайенг/PetShop итд, ну понимаешь впринципе размер компаний и их профиль). Так как изначально все было на PHP, то и стали переходить со всяких самописов систем (а некоторые так и не перешли типа Байду) и Zend Framework на Symfony. Это больше про Россию и Европу, в США это не признают.
    4. Ruby/Python системы, где ключевые элементы переписываются на c++/go. Чаще всего практикуется такое у буржуев. У нас такое разве, что у yandex/mail/rambler/wargaming. Если планируешь работать в РФ, то это наименее перспективный стек в плане карьеры. Стоящих предложений на этот стек реально мало
    Ответ написан
    4 комментария