Задать вопрос
  • Какие технолгии здесь используются для подобного функционала?

    alams_stoyne
    @alams_stoyne
    Full Stack Developer - #PHP #CSS #JS #DB
    Для решения такой задачи я использовал konvajs
    Данные тянул из БД с помощью php сразу (смысла лишний раз делать запросы не увидел)
    Рендер и взаимодействие написаны на JS

    Как это работает
    Ответ написан
    2 комментария
  • Какой движок выбрать под корпоративный сайт с выбором городов?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Можно абсолютно на любом.
    Но, в такой постановке вопроса, WordPress - однозначно будет лучшим вариантом.

    Поддомены к категориям - можно перенаправлять правилами веб-сервера.
    Для Apache - это .htaceess
    Для Nginx - это nginx. conf
    Ответ написан
    Комментировать
  • Laravel 6, как реализовать во время редиректа Flash сообщение?

    php666
    @php666
    PHP-макака
    Реализовал это, непосредственно в
    ты не должен НИЧЕГО менять в папке vendor

    Требуется, после этих действий добавить Flash сообщение.
    а разве в ларавеле из коробки нет примеров мессаджей? в любом экшене вконце

    return redirect()->route('you.rout')
                ->withFlashSuccess('ok');
    Ответ написан
    Комментировать
  • Как запретить ввод букв в инпут?

    @DanKud
    <input type="text" class="text">

    $('.text').on('input', function() {
        $(this).val($(this).val().replace(/[A-Za-zА-Яа-яЁё]/, ''))
    });
    Ответ написан
    4 комментария
  • Почему гугл не индексирует компоненты VUE?

    dlnsk
    @dlnsk
    ПК Партнер 01.01 -> ПК Поиск -> IBM PC
    А чего вы, собственно, хотели? Боты - они же простые как три рубля. Их задача быстренько индексировать страницу. Представьте сколько нужно ресурсов, чтобы исполнять JS на каждой странице... Да и зачем? Если разработчику нужно индексировать Vue, то он потратит на это свои ресурсы.
    То, о чем вы пишите, называется SSR. Не знаю в каких таких "статьях" вы читали про гугл, но есть официальная дока про SSR на сайте Vue:
    https://ssr.vuejs.org/ru/
    Ответ написан
    Комментировать
  • Нужен ли футер в личном кабинете?

    usdglander
    @usdglander
    Yipee-ki-yay
    Если собственник платит вам деньги и у вас нет полномочий продукт-менеджера, а следовательно вы не несёте никакой ответственности за это, то ставьте.
    Ответ написан
    Комментировать
  • Нужен ли футер в личном кабинете?

    @McBernar
    Согласно последним данным проведенного соцопроса на улицах Москвы и Геленджика, наличие футера в личном кабинете финансового сервиса допускает 42% респондентов. 21% затруднились ответить, 3% были против. Оставшиеся 34% ответили вопросом «чивооо, б***ь?»

    Вам достаточно этих данных?
    Ответ написан
    3 комментария
  • Что нужно знать для PHP Developer?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Ответ написан
    Комментировать
  • Я не могу понять в чем проблема в моём коде?

    @DollaR84
    У вас неправильно написаны конструкторы классов.
    У всех классов методы:
    _init_
    надо заменить на:
    __init__
    Разница в том, что там по два символа подчеркивания и спереди слова и сзади.
    И у методов __lt__ и __gt__ тоже самое.
    У всех служебных методов не один символ подчеркивания спереди и сзади, а по два символа.
    Да, кстати, и метод __lt__ правильно писать с буквой "l", а не __it__.
    Короче, просто много синтаксических ошибок от невнимательности.
    Да и еще, метод __repr__ тоже пишется по два символа подчеркивания с двух сторон. И плюс код в этом методе нерабочий, с ошибками, но то уже другой вопрос, думаю там сами разберетесь по трейсбеку.
    Ответ написан
    Комментировать
  • Возможно ли использовать Vue без потери SEO?

    @kirill-93
    Ударит. Все что вы таким образом будете делать с помощью Vue, будет невидимым для поисковиков.
    UPD. Вы не сможете использовать ssr, nuxt и тп, как советуют, если хотите использовать Vue для отдельных частей страницы.

    И насколько хорошей\плохой практикой будет использовать Vue в качестве вспомогательного средства, а не для создания полноценного SPA?

    Очень хорошая практика. Например, если у вас существующий интернет магазин с десятками фильтров, котрые между собой связаны. Реализация таких фильтров на jQuery или чистом JS - это ад. Тут можно и нужно брать Vue и переписывать только кусок с фильтрами, потому что используя реактивность, разрабатывать такие сложные взаимозависимые вещи, как фильтры, одно удовольствие.
    Ответ написан
    2 комментария
  • Заказчик хочет получить invoice. Подвластно ли это начинающему фрилансеру?

    @Stalinko Куратор тега Фриланс
    PHP'шник и фрилансер до мозга костей
    Если заказчик иностранный, то последствий не будет никаких.
    Это нужно ему для внутренней бухгалтерии. Наша налоговая никак об этом не узнает.

    Поэтому достаточно взять в интернете любой invoice generator и заполнить базовые вещи: заказчик, исполнитель, список работ, цена, объём, дата. Я лично пользуюсь вот этим: https://create.onlineinvoices.com/invoices-generat...
    Ответ написан
    2 комментария
  • С чего начать изучение Laravel?

    Alex_Wells
    @Alex_Wells
    PHP/Kotlin
    1. Да
    2. В 6 почти ничего в сравнении с 5-кой не удаляли, бери 6
    3. Нету смысла в lumen
    4. laracasts.com
    Ответ написан
    Комментировать
  • Почему интерполяция строк не работает?

    @bogomazov_vadim
    Апострофы вместо одинарных кавычек.

    Ответ написан
    1 комментарий
  • Как скрыть экземпляр vue.js из консоли devtools?

    Sanasol
    @Sanasol
    нельзя просто так взять и загуглить ошибку
    Зочем?

    У вас на фронте секретные разработки? Тогда их надо было не на фронте реализовывать.

    Всё что есть на фронте доступно в консоли браузера так или иначе.
    Ответ написан
    Комментировать
  • Как защитить переменную js?

    delphinpro
    @delphinpro Куратор тега JavaScript
    frontend developer
    Если вам нужно защитить данные в javascript коде от постороннего вмешательства, то вам не нужно эти данные размещать в javascript коде.
    Ответ написан
    Комментировать
  • Где просматривать дизайн (apple)?

    fred-design
    @fred-design
    web design, UI design, branding
    Вот вам совет
    и таких полно и всех разных устройств
    Ответ написан
    Комментировать
  • Как вставить php код в json?

    @Kostik_1993
    Web Developer
    Вопрос тупее некуда. Зачем вам php в json? Чего вы хотите этим добиться? Вы хотите вывести сам код? Или его результат? Причём тут Laravel? Вы делаете это в шаблоне?
    Ответ написан
    Комментировать
  • Какое решение лучше выбрать для создания собственного сайта с заметками?

    @Camaro67
    Помог? - жми "Отметить решением"
    То которым вы владеете.
    Ответ написан
    Комментировать
  • Как логичнее изменять конфиг?

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

    Никто не стоит над вами с палкой и не заставляет держать весь конфиг в обязательном порядке строго только во одном месте и больше никак.
    Никто не мешает вынести редактируемые значения в базу.
    В место того чтобы ковыряться грязными пальцами в файле настроек с риском там что-то поломать, куда проще оставить его в покое, а переменные настройки редактировать через базу
    Ответ написан
    Комментировать
  • Попросили проверить код, на что смотреть нужно?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Смотря зачем)). Я когда делаю Code Review критерии следующие:

    * Безопасность:
    - Каждый аргумент метода простого типа должен проверяться на тип в случае его проксирования и на граничные значения в случае обработки. Чуть что не так - бросается исключение. Если метод с кучкой аргументов на 80% состоит из поверки из аргументов - это вполне норм))
    - Никаких trigger_error, только исключения.
    - Исключения ДОЛЖНЫ быть человеко-понятны, всякие "Something went wrong" можно отдавать пользователю, но в лог должно попасть исключение со стектрейсом и человеко-понятным описанием, что же там пошло не так.
    - Каждый аргумент (объект) метода должен быть с тайпхинтингом на этот его класс, или интерфейс.
    - За eval как правило шлю на **й.
    - @ допускается только в безвыходных ситуациях, например проверка json_last_error.
    - Перед работой с БД - обязательная проверка данных.
    - Никаких == и !=. Со swtich - единственное исключение, по ситуации.
    - Если метод возвращает не только bool, а еще что-то - жесткая проверка с ===, или !== обязательна.
    - Никаких условий с присваиваниями внутри. while($row = ...) - тоже идет лесом.
    - Магические геттеры/сеттеры разрешаются только в безвыходных ситуациях, в остальном - запрещены.
    - Конкатенации в sql - только в безвыходных ситуациях.
    - Параметры в sql - ТОЛЬКО через плейсхолдеры.
    - Никаких глобальных переменных.
    - Даты в виде строки разрешаются только в шаблонах и в БД, в пхп коде сразу преобразуется в \DateTimeImmutable (в безвыходных ситуациях разрешено \DateTime)
    - Конечно зависит от проекта, но как приавло должно быть всего две точки входа: index.php для web и console(или как-то по другому назваться) - для консоли.

    * Кодстайл PSR-2 + PSR-5 как минимум, + еще куча более жестких требований (для начала все то что в PSR помечено как SHOULD - становится MUST)
    - В PhpStorm ни одна строчка не должна подсвечиваться (исключением является typo ошибки, например словарик не знает какой-то из аббревиатур, принятых в вашем проекте). При этом разрешается использовать /** @noinspection *** */ для безвыходных ситуаций.
    - Если кто-то говорит, что пишет в другом редакторе и у него не подсвечивается, на эти отговорки кладется ВОТ ТАКЕЕЕНЫЙ мужской половой **й и отправляется на доработку)).

    * Организация кода:
    - Никаких глобальных функций.
    - Классы без неймспейса разрешаются только в исключительно безвыходных ситуациях.

    * Тестируемость (в смысле простота тестирования) кода должна быть высокая.
    - Покрытие кода обязательно для всех возможных кейсов использования каждого публичного метода с моками зависимостей.

    * Принципы MVC:
    - Никаких обработок пользовательского ввода в моделях, от слова совсем.
    - Никаких ***ть запросов в БД из шаблонов.
    - Никаких верстки/js/css/sql-ин в контроллерах.
    - В моделях НИКАКОЙ МАГИИ, только приватные свойства + геттеры с сеттерами.
    - В моделях разрешено использовать метод save(при наличии такого разумеется) только в исключительных ситуациях. Во всех остальных - либо insert, либо update.

    * Принципы SOLD:
    - Никаких божественных объектов умеющих во все.
    - Если метод для внутреннего пользования - private, никаких public.
    - Статические методы разрешаются только в случае безвыходности.

    * Принцип DRY разрешено нарушать в случаях:
    - Явного разделения обязанностей
    - В тестах (каждый тест должен быть независимым, на сколько это возможно)

    * Работа с БД:
    - Запрос в цикле должен быть РЕАЛЬНО обоснован.
    - За ORDER BY RAND() - шлю на***й.
    - Поиск не по ключам (конечно если таблица НЕ на 5 строк) запрещен.
    - Поиск без LIMIT (опять же если таблица НЕ на 5 строк) запрещен.
    - SELECT * - запрещен.
    - Денормализация БД должна быть обоснована.
    - MyISAM не используется (так уж)) )
    - Множественные операции обязательно в транзакции, с откатом если чо пошло не так.
    - БД не должна содержать бизнес логики, только данные в целостном виде.
    - Не должно быть нецелесообразного дерганья БД там, где без этого можно обойтись.

    * Кэш должен очищаться по двум условиям (не по одному из, а именно по двум):
    - Время.
    - Протухание по бизнес логике.
    Разрешается по только времени в безвыходных ситуациях, но тогда время - короткий период.
    - При расчете ключей кэша должна использоваться переменная из конфигурации приложения (на случай обновлений кэш сбрасывается кодом, а не флашем кэш-сервера). В случае использования множества серверов - это очень удобный и гибкий инструмент при диплое.

    * О людях:
    - "Я привык писать так и буду дальше" - не вопрос, ревью пройдешь только когда поменяешь свое мнение.
    - "Я пишу в vim-е и мне так удобно" - здорово, код консолью я тоже в нем пишу)) но есть требования к коду, если в них не сможешь - не пройдешь ревью.
    - "Я скопировал этот страшный метод и поменял 2 строчки" - это конечно замечательно, но по блейму автор всего этого метода ты, так что давай без говняшек, хорошо?
    - "Оно же работает!" - вот эта фраза переводится примерно так: "да, я понимаю, что пишу полную хрень, но не могу писать нормально потому, что руки из жо", я правильно тебя понял?))
    - "У меня все работает!" - рад за тебя, а как на счет продакшна?
    - "Там все просто" - не используй слово "просто", от слова "совсем". Вот тебе кусок кода (первого попавшегося с сложной бизнес логикой), где там ошибка (не важно есть она, или нет)? Ты смотришь его уже 2 минуты, в чем проблема, там же все "просто"))

    * Всякое:
    ActiveRecord (это я вам как в прошлом фанат Yii говорю) - полное говно, примите за исходную. По факту у вас бесконтрольно по проекту гуляют модельки с подключением к БД. Не раз натыкался на то, что в тех же шаблонах вызывают save, или update (за такое надо сжигать).
    То, что используется Laravel - это печально((. Что бы выполнить требования приведенные выше, приходится "воевать" с фреймворком.

    Это далеко не полный список требований, очень много зависит от проекта в целом и от принципов, заложенных в нем. Для больших мредж реквестов 200 комментариев к коду - это ок. Дерзайте.

    UPD

    Формализировал данные критерии по ссылочке: https://github.com/index0h/php-conventions
    Ответ написан
    55 комментариев