• Laravel response SPA?

    @vism
    Вам злые дяди не разрешают другие переменные слать, кроме message?
    Ответ написан
    Комментировать
  • Асинхронная работа laravel, что делаю не так?

    Sanasol
    @Sanasol Куратор тега Laravel
    нельзя просто так взять и загуглить ошибку
    Сам работник попадает в очередь с указанным именем в базу данных, но вот что с ним делать дальше ??

    Наверно надо запустить очередь чтобы она обрабатывала джобы?
    Ответ написан
    Комментировать
  • Чистый код в php?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Тот редкий случай, когда автор вопроса куда лучше разобрался в проблеме, чем те, кто пытается отвечать.

    Да, всё верно, Симфони приучает к правильной структуре кода. Так что самым лучшим вариантом будет устроиться на работу в компанию, где используется Симфони - и учиться на практике.

    Если же решать проблему с нуля - то есть из теории - то чтением книжек отцов-основателей - Мартина, Фаулера - вот это вот всё. Новичкам редко подходит, так что я бы рекомендовал совмещать теорию с практикой.
    Ответ написан
    4 комментария
  • Чистый код в php?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Не знаю как в PHP, а в мире Java помогает устройство на работу в кровавый энтерпрайз™ Когда у тебя на прекомит хук навешан линтер, когда CI-сервер чешет ветки апстрим-репозитория статическим анализатором и отсылает отчёты тимлиду в случае ошибок, когда раз в неделю стейджинг прогоняется нагрузочными тестами и в случае проседания показателей обязательно проводится ритуальное изнасилование виновника, когда точно знаешь, что за ошибку на проде уволят половину отдела по статье, когда все коллеги - тролли и садисты, но выглядят белыми и пушистыми на фоне менеджеров, и когда один из них регулярно делает ревью твоего кода, тогда становится сложно писать "нечистый" код.
    Ответ написан
    1 комментарий
  • Почему FormRequest в Laravel выбрасывает ValidationException вместо массива с ошибками?

    JhaoDa
    @JhaoDa
    LaravelRUS Team
    Потому что так он устроен. Это исключение должно перехватываться обработчиком ошибок и он уже сгенерирует нужный ответ — json или редирект. Что вы там такое понаписали, что он этого не делает — вопрос к вам.

    Документацию не читаете по идеологическим причинам или религиозным?
    Ответ написан
    4 комментария
  • Как соеденить несколько ajax data table запросов?

    Stalker_RED
    @Stalker_RED
    Можно сперва запросить данные для всех таблиц, и только потом запустить инициализацию datatble с этими данными.
    Ответ написан
    4 комментария
  • Как отфильтровать Продукты по всем указанным Тегам у каждого из них?

    @jjsf Автор вопроса
    решение:
    $tags_pages=[44,34,21,54]; // Это лишь пример массива. Элементы и количество  массива меняется.  
    
    $Product = Product::whereHas('tags', function($query) use($tags_pages)
         {            
              $query->whereIn('id',$tags_pages);
          }, '=', count($tags_pages))->get();


    т.е еще проверяем количество тегов
    Ответ написан
    Комментировать
  • Документация по socket.io?

    @DarCKoder
    support.qbpro.ru/index.php?title=Socket.io_%D0%B4%...
    На русском.
    Знаю что уже поздно. Может кому пригодится.
    Ответ написан
    Комментировать
  • Как вы работаете с phpstorm?

    opium
    @opium
    Просто люблю качественно работать
    Ну почему же только в одну, в обе стороны вполне,
    если файл есть локально, но не появился в phpstorm, то правой кнопкой по папке и выбирайте пункт synchronize 'projectname'
    если нету и все настроено - то Sync with ---hostname---
    Ответ написан
    Комментировать
  • Что написать для тренировки на js с нуля?

    shmatuan
    @shmatuan
    8 year of Web, 5 years of Vue
    Из того, что часто может пригодится в вебе

    • Паралакс
    • слайдер
    • генерацию таблиц из js
    • сортировку таблиц
    • общение с сервером
    • Плеер (аудио/видео)
    • Работа со временем (momentjs)
    • Подгрузка постов при скроле
    • Движение блоков при скроле
    • Пагинация
    • Модалка
    • Взаимодействие с изображениями (фильтр, обрезка, ...)
    • Кастомные селекты, датапикеры
    • Табы


    + можешь поискать топ сайтов и попробовать повторить интересные штуки из них
    + jQuery
    + фрейморки, например Vue
    + node js
    Ответ написан
    Комментировать
  • Как перемотать вперед в PhpStorm?

    CTRL + SHIFT + Z
    Ответ написан
    Комментировать
  • Как улучшить скорость сайта при нагрузках?

    402d
    @402d
    начинал с бейсика на УКНЦ в 1988
    Ваши 15 секунд, хотелось бы видеть с разбивкой из чего они складываются.

    Запросы к СУБД , из них сколько составляют ?
    Количество запросов к базе нужных для генерации страницы ?

    Для начала проверьте, что Вы не забыли индексы.
    Читаем по ссылке как анализировать оптимальность запросов
    https://habr.com/post/211022/

    Дальше задумываемся, что не так . Я например видел проект, у которого для генерации главной было 2000 запросов. Ошибка была в том, что авторы вынимали 15 новостей так.
    Найти 15 последних ид. Вызвать 15 раз конструктор новости. В конструкторе сделать запрос к базе по
    переданному ид.

    Вы ничего не написали про версию mysql и engine таблиц. Стоит проверить my.cnf на оптимальность значений.
    Возможно ли использовать Query Cache ?

    Напишите подробнее как проект распределен по серверам.
    Что? где? Конфигурация сервере (Процессор, ядра, частота ; ОЗУ , объем, тип; HDD / SSD, объем / скорость на чтение/ запись)
    Подробнее про СУБД. Сколько суммарный объем, таблиц, записей по таблицам.
    Если СУБД уже на нескольких серверах, то тип репликации.
    Ответ написан
    Комментировать
  • Middleware except в route group?

    netrox
    @netrox
    Просто убери этот метод из closure.
    Или в конструкторе контролера
    $this->middleware('middlewareName')->except('about');
    Ответ написан
    2 комментария
  • Прокомментируете тестовое на react?

    rockon404
    @rockon404 Куратор тега React
    Frontend Developer
    1. Хотелось бы видеть в проекте использование redux. react+redux - это самый распространенный и востребованный стек в React разработке.

    2. Почему все хандлеры и состояния находятся в App, а не в Main? Как вы потом эту кашу собираетесь масштабировать? Переносите все, что связанно только с Main в Main. По-хорошему смотрите пункт 1.

    3. Слишком много функциональных компонентов. Подумайте их где можно заменить на классы с реализованным shouldComponentUpdate или на PureComponent, чтобы убрать лишние вызовы render этих компонентов.

    4. import Logo from 'images/Logo.png';
    называть пути к ресурсам с заглавной буквы неправильно.

    5. Вместо:
    const StyledLogo = styled.img.attrs({
      src: Logo,
      alt: 'Aviasales'
    })`
      width: 60px;
      height: 61px;
    `;

    Удобней в использовании:
    const StyledLogo = styled.img`
      width: 60px;
      height: 61px;
    `;

    и:
    <StyledLogo src={logo} alt="Aviasales" />

    6.
    const Error = ({ text }) => (
      <StyledError dangerouslySetInnerHTML={{__html: text}} />
    );

    зачем тут html?
    Для сохранения переносов строки есть css правило:
    white-space: pre-line;

    7. Вместо:
    let element;
    
    if (error && !isLoading) {
      element = <Error text={error} />;
    }
    if (!error && isLoading) {
      element = <Loader />;
    }
    if (!error && !isLoading) {
      element = (
        <>
        <Heading />
        <Main
        isCurrencyExchanging={isCurrencyExchanging}
        activeCurrency={activeCurrency}
        handleCurrencyChange={this.handleCurrencyChange}
        ticketsFilteredByStops={ticketsFilteredByStops}
        stops={stops}
        handleStopsChange={this.handleStopsChange}
        handleUncheckOther={this.handleUncheckOther}
        />
        </>
      );
    }
    return element;

    Лучше:
    if (isLoading) return <Loader />;
    
    if (error) return <Error text={error} />;
    
    return (
      <>
        <Heading />
        <Main
          isCurrencyExchanging={isCurrencyExchanging}
          activeCurrency={activeCurrency}
          handleCurrencyChange={this.handleCurrencyChange}
          ticketsFilteredByStops={ticketsFilteredByStops}
          stops={stops}
          handleStopsChange={this.handleStopsChange}
          handleUncheckOther={this.handleUncheckOther}
        />
      </>
    );


    8. Вместо:
    filterTickets = (tickets, stops) => {
      return tickets.filter((ticket) => {
        return values(stops).indexOf(ticket.stops) !== -1;
      });
    };

    Лучше:
    filterTickets = (tickets, stops) => tickets.filter(
      ticket => values(stops).includes(ticket.stops),
    );


    9. Не пропускайте отступы между методами и между вложенными свойствами css.

    10. Вместо:
    componentsDidMount() {
      // много кода
    }


    Лучше:
    componentsDidMount() {
      this.fetchSomeData();
    }


    11. Директории и индексные файлы для каждого компонента, имхо, лишнее. Лучше компоненты определять в одноименном файле и только когда возникнет необходимость в его декомпозиции, заменять на директорию и index.

    12. Loader и Error самое место в директории components/core или что-то вроде того. Там же, по-хорошему, должны находиться базовые компоненты: кнопки, инпуты, табы, чекбоксы.

    13. Styled компоненты, имхо, лучше писать в файле с компонентом, где они применяются. Так анализ кода происходит гораздо быстрей и легче поддерживать. Исключение - переиспользуемые компоненты.
    Даже если вам больше нравится выносить, называть файл style неправильно, вы там описываете компоненты, а не просто стили.
    Ответ написан
    3 комментария
  • Laravel как работают сесси ларавель?

    v_decadence
    @v_decadence
    Не используйте dd, он убивает обработку запроса и запись в сессию не срабатывает
    Пруфы:
    https://github.com/laravel/docs/pull/3376
    https://laracasts.com/discuss/channels/laravel/is-...
    Ответ написан
    Комментировать
  • Как работает передача данных из контроллера в view laravel?

    v_decadence
    @v_decadence
    Просто добавляет данные в свойство-массив $data класса Illuminate\View\View, которые потом передаются в Blade-шаблон.
    Ответ написан
    2 комментария
  • При проверке через проводник win 10 на ssd не хватает гб, где искать?

    @KPOBABAK
    проблемы с местом?
    поставь dism++ да почисти...
    если навыков не хватает вручную сделать.
    Ответ написан
    Комментировать
  • Как передать данные from controller to controller laravel?

    @LiguidCool
    Весь смысл контроллера, что он един при вызове. Вы должны вызывать КЛАСС. Во всяком случае так правильней с точки зрения MVC.
    Ответ написан
    Комментировать