Задать вопрос
  • Как избежать повтора инклюдов в ООП PHP?

    @eandr_67
    web-программист (*AMP, Go, JavaScript, вёрстка).
    Во первых, в современном коде файлы никто не инклюдит - много лет назад для автоматической загрузки классов придумали https://www.php.net/manual/ru/language.oop5.autolo.... И во всём коде сайта остаётся 2-3 include, один из которых - внутри генрируемого composer'ом автозагрузчика.

    Во вторых, все современные фреймворки имеют единственную точку входа: файл index.php, которому передаются все обращения к сайту. В этом файле производятся подключение конфига, и инициализация фреймворка. После чего управление передаётся роутеру, который разбирает URL запроса и передаёт управление нужному классу-контроллеру.

    В третьих, для автоматического создания объектов с автоматической же передачей конструктору нужных данных (в том числе и конфигурации) и исключения дублирования создаваемых объектов давным-давно придумали контейнеры внедрения зависимостей (DI) https://elisdn.ru/blog/116/psr7-framework-container (советую посмотреть все уроки этого цикла).
    Ответ написан
    23 комментария
  • Можете помочь с настройкой webpack?

    @lnked
    для начала исправьте регулярку c test: /\.s[as]ss$/i, на test: /\.s?(a|c)?ss$/,
    Ответ написан
    Комментировать
  • Можете помочь с настройкой webpack?

    У вас вот эта регулярка test: /\.s[as]ss$/i никогда не сработает на scss
    Ответ написан
    Комментировать
  • Как работать с CSS во Vue?

    Kozack
    @Kozack Куратор тега Vue.js
    Thinking about a11y
    Стили компонента пишите в компонентах. Чем плохо то? Хотите препроцессор? Пишите стили в компоненте используя препроцессор.
    В документации так и не смог найти где можно прочитать про это.

    https://developer.mozilla.org/en-US/docs/Learn/Too...
    Ответ написан
    Комментировать
  • Как люди пишут операционные системы?

    CityCat4
    @CityCat4
    Дома с переломом ноги
    Берут и пишут. Читают книги по теории, берут готовые исходники, пытаются выделить в них куски, про которых писали в книгах и проследить их взаимодействие, составляют в уме проект своей оси, делают разработку по компонентам.
    Долгая, нудная, сложная ... и совершенно бессмысленная работа, разве только just for fun.
    Ответ написан
    15 комментариев
  • Как использовать artisan команды при создании пакета Laravel 7?

    agoalofalife
    @agoalofalife
    Team Lead
    Рассмотрим пример когда вы разрабатываете свой пакет локально.
    В корне проекта создается папка и добавляется запись в composer.json вроде такой
    "repositories": [
        {
          "type": "path",
          "url": "author/package"
        }
      ]

    Подробнее можно прочитать здесь в документации
    При такой настройке, пакет создаст ссылку в vendor.

    По поводу стандартных команд в Laravel(artisan) тут все индивидуально, к примеру, миграцию можно добавить ваш пакет такой командой
    php artisan make:migration name_migration --path=author/package

    В команде по созданию factories, за корень берется databasePath, выйти из ситуации след образом.
    - В зависимости от контекста менять базовый путь
    - Отнаследоваться или создать свою команду для формирования пути при создании фабрики

    Сам я в таких случаях просто создавал файлы руками.
    Посмотрев несколько готовых пакетов для разработки пакетов под Laravel, такой фичи не обнаружил, а в одном из них предлагают создавать через обычный artisan и просто копировать в свой пакет.

    Еще можно воспользоваться консолью:
    php artisan make:controller OurController && mv app/Http/Controllers/OurController.php author/package/pathWhereControllerStore

    Соответственно можно создать алиас и писать меньше, а можно скрипт, где будет еще изменяться namespace в соответствии с вашим пакетом.
    Ответ написан
    Комментировать
  • Есть ли CMS для интернет-магазина с хорошим REST API?

    @antoshadrobyshev
    WordPress & Woocommerce developer
    У WooCommerce неплохой REST API https://woocommerce.github.io/woocommerce-rest-api...
    Плюс, если чего то не хватает, то всегда можно расширить/дописать через WordPress REST API https://developer.wordpress.org/rest-api/.
    Ответ написан
    1 комментарий
  • Как работать со статичными маршрутами и переменными в Laravel?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега Laravel
    «Статичные» должны быть объявлены после «динамических».

    Но по идее оно должно брать только те адреса, которые есть в БД
    Роутер ничего про содержимое вашей БД не знает.
    Ответ написан
    4 комментария
  • Что лучше в качестве backup-сервера — Samba или NFS?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    NFS - родной для Linux протокол, самба - родной для винды.
    NFS - нативнее поддерживает файловые системы Линукс, samba - конвертирует.
    NFS - будет заметно быстрее на множестве файлов, но передача крупных одиночных файлов в принципе сопоставима. Скорее всего замедление именно из-за работы с файловыми аттрибутами и правами доступа.

    Я бы рекомендовал nfs.
    Ответ написан
    Комментировать
  • Почему whereIn не распознает переданный массив?

    delphinpro
    @delphinpro Куратор тега Laravel
    frontend developer
    $productsQuery->whereHas('attributes', function($q) use ($request) {
                   $q->whereIn('size', $request->size);
               })->get();
    Ответ написан
    Комментировать
  • Можно ли использовать один метод для 2-х роутов?

    agoalofalife
    @agoalofalife
    Team Lead
    С точки зрение работы кода, у вас по двум маршрутам, обрабатывается request в одном контроллере и в одном методе, работать конечно будет.
    Но с точки зрения кода - это конечно не perfect. Тут как в классике, "Все смешалось в доме Облонских".
    - Контроллер кончено ж должен быть другой, и в данный момент не потому что просто так должно быть, а просто название route и контроллера вызывают диссонанс в первую очередь.
    - Во вторых есть такой термин как REST API, и в духе Laravel больше подходит метод show, документация

    Еще мне не нравиться ваш namespace Front, и есть ощущение что он больше не нужен, чем нужен.
    И наверное category всегда лучше чем cat или c.
    Еще можете прочитать про resources

    Ну и главное, про сокращение кода:
    - "Чтобы не создавать еще метод"(где-либо)
    - Чтобы не создавать еще класс
    - Чтобы не создавать еще таблицу в базе
    - Чтобы не создавать еще ...
    Более вероятно будет приводить к плохому коду и путаницы. Мало кода это не равно хороший код. В коммерческой разработке часто очень большая предметная область, с этим надо работать, поддерживать и тому подобное - это порождает больше кода, потому что:
    - Лучше (иногда) создать еще метод
    - Лучше (иногда) вынести в отдельный класс
    - Лучше (иногда) нормализовать и вынести в отдельную таблицу
    Advice - Прочтите документацию Laravel✌️
    Ответ написан
    Комментировать
  • Как соединить два роутера на расстоянии 100 м?

    @Newbie2
    На витой паре вполне себе заведется, возьмите категорию 6 с калибром 23awg (d=0,57мм), это обеспечит запас метров 30 от стандарта (100 метров). А 10 мбит так вообще метрах на ста семидесяти заработает.
    Можно направленные вай-фай антенны использовать, но вай-фай это всегда плохо, использовать можно только в случае невозможности проложить витую пару.
    Ответ написан
    6 комментариев
  • Для laravel есть готовое решение, чтоб по команде php artisan ..... делать бекап базы, и разворачивать ее с бекапа?

    agoalofalife
    @agoalofalife
    Team Lead
    Тут зависит от ваших хотелок. Но самый простой "велосипед" можно в течении минут 10 сделать.
    К примеру у вас mysql и есть утилита mysqldump.
    Соответственно добавляете команды, к примеру:
    php artisan backup:run
    php artisan backup:refresh

    В них заворачиваете ваш mysqldump, название возьмете из файла конфигурации database.php.
    Ответ написан
    Комментировать
  • Laravel Livewire?

    нет, что бы отправить ajax запрос livewire учить не нужно
    достаточно изучить эту страничку https://learn.javascript.ru/ajax-xmlhttprequest
    Ответ написан
    Комментировать
  • Почему вместо php стиля стиль обычного текста?

    sHinE
    @sHinE
    веб-разработчик, php/js/mysql и сопутствующее
    Не помечали случайно как текст этот файл? Правой кнопкой по нему в Project и там
    5fe1d2914c32a147040724.png
    Ответ написан
    Комментировать
  • Как защитить кнопку от автоматического клика?

    WblCHA
    @WblCHA
    Если просто, то так:
    document.body.addEventListener('click', (e) => {
      if(!e.pageX && !e.pageY) {
        e.stopPropagation();
      }
    }, true);

    При использовании функции клика место клика всегда равно нулю.
    Понятное дело его можно обойти, но на клиенте всё можно обойти.)
    Ответ написан
    Комментировать
  • Как выйти из цикла while?

    @dmshar
    Очень сложно понять, что вы хотели написать, особенно учитывая небрежное форматирование кода.
    Судя по фразе
    "Почему-то даже когда нажимаю от 1 до 9 цикл продолжает работать." вы хотите, что-бы при вводе чисел в диапазоне от 1 до 9 вы заканчивали цикл. А при вводе цифр вне этого диапазона или нажатии Enter пользователю предлагалось дальше вводить числа.
    Тогда это должно выглядеть вот так

    while position not in [str(x) for x in range(1,10)] or position=="" :
            print("ONLY between 1 and 9: ")
            position=input("Choose a position: ")       
    position=int(position)  
    print(f'chosen position is {position}')


    Ни и протокол работы
    Choose a position: 0
    ONLY between 1 and 9: 
    Choose a position: 10
    ONLY between 1 and 9: 
    Choose a position: 
    ONLY between 1 and 9: 
    Choose a position: 5
    chosen position is 5:
    Ответ написан
    2 комментария
  • Почему человек узнал все обо мне по фейковой закрытой странице в вк? Как такое возможно?

    Noizefan
    @Noizefan
    Всё гораздо проще, не пудри людям мозги.
    Создать абсолютно пустую страницу в вакууме, конечно же якобы ничего с неё не делать (этот момент ты, естественно, не упомянула) и внезапно непойми кто пишет такие вещи?))

    Никакими "узнать страницу по номеру" или "номер по странице" или "страницу по имени и фамилии" "за 5000 рублей лучший хакфорум lolzteam" тут и не пахнет.
    Вот для чего страницу создала - общаться с подружкой, вступить в группу, в которой всего 15 человек, добавиться ко всем друзьям своим, у которых итак друзей по 5 штук - вот к подружке, группам и друзьям и иди
    Какие в жопу сотовые операторы, друзья? Вы с ума посходили? вирусы флешки))) Может, своими фантазиями девок клеить в реал пойдете уже а?)) диванные племянники Холмса))
    нееет, это точно цру а наша тс это спецагент в бегах. Вот не знает уже что и делать на тостер пришла.

    Ты элементарнейшим образом сама себя слила, и злоумышленнику помогли 33% удачи, 33% социальной инженерии и 33% твоей собственной глупости. Подруга тебя подставила или издевается, схожесть интересов, GetContact, всё в тысячи раз проще, стоит лишь немного пораскинуть мозгой.

    Если всё настолько серьезно и страшно, как ты описываешь - тебя ничто не может в таком случае остановить в походе в отделение полиции и написании заявления.
    Ответ написан
    10 комментариев
  • Почему амперсант в SCSS имеет меньшую спецификацию?

    CIDBerlin
    @CIDBerlin
    Junior front-end developer
    В SCSS имеется возможность прописывать media прямо внутри класса. Попробуй, это намного удобнее
    Ответ написан
    Комментировать