Задать вопрос
  • Чем frontend разработчик занят на реальных проектах?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    И заметила, что основная часть задач - инфраструктурная.
    Такой работы всегда много, но есть нюансы.
    Настройка тестов
    Да, это в любой разработке будет, не только во фронте
    CI/CD
    Сомнительно, но окэй, знать это очень желательно, но в крупных проектах этим занимается девопс, как минимум настраивает скрипты. В малых компаниях это раскидывается на разрабов, есть такая практика.
    OLAP CUBE, оптимизация запросов к БД.
    А это вообще чисто бэкендерские заморочки, конечно никто бить за понимание таких штук не будет, но в целом фронту это не особо важно, у него должно быть расписано апи/эндпоинты и чего туда пихать и что получать. Уж оптимизацией запросов чистый фронтендер точно не обязан заниматься.

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

    @Drno
    ubuntu 22
    Ответ написан
    Комментировать
  • Как вставить переменную из js в template.php и обновить страницу?

    Вам надо добавить селекту имя и как-то сабмитить форму с селектом (на выбор есть GET и POST). Соответственно, в скрипте значение выбранного города будет в одном из значений в массиве $_GET или в массиве $_POST .

    P.S. Правильно пишется "city". Учите английский, в будущем пригодится.
    Ответ написан
    Комментировать
  • Как быть если мне нужен объект Bitrix\Main\Application::getInstance()->getContext()->getRequest() в моем агенте?

    Нужно переделать функцию так, чтобы она принимала аргументы, а не брала значения из контекста запроса.
    Аргументы можно передавать явно при создани агента, а можно писать данные куда-то (в файл или БД) и передавать в функцию-агент только идентификатор записи, по которому она может получить всё нужное.

    Пытаться инициализировать полноценный Request внутри агента не стоит - это сложно и чревато багами (особенно, если сами агенты исполняются на хитах).
    Ответ написан
    Комментировать
  • Как с помощью php отдать react?

    ipatiev
    @ipatiev Куратор тега PHP
    Потомок старинного рода Ипатьевых-Колотитьевых
    Как я уже не раз говорил, чтобы получить ответ на свой вопрос, надо сначала разобраться с кашей у себя голове.
    Вас же на первом же шаге унесло не туда.

    jQuery уже в прошлом

    это правда

    его теснят фреймворки типа react

    а это уже чушь собачья
    jQuery - это был костыль, позволявший выполнять определенные задачи, которые было невозможно или слишком сложно выполнить на чистом JavaScript. Но уже больше 10 лет нужда в этом костыле полностью отпала
    К фреймворкам типа React этот костыль не имеет никакого отношения вообще.
    Для замены jQuery вам нужно просто выучить Яваскрипт.

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

    При использовании реакта, сначала загружаются его статические файлы. обычно это делается через отдельный веб-сервер, на котором крутится приложение, написанное на js. и эту вашу проверку можно делать там.
    но в принципе вы можете отдавать их и РНР скриптом. HTML отдавать через РНР умеете? Ну вот и отдавайте.

    Но повторюсь, это только если вам действительно нужен реакт. А для замены jquery он не нужен.

    404й редирект

    для начала, такой вещи, как "404й редирект" в природе не существует.
    Бывает либо редирект (коды ответа 3хх), либо 404. Два НТТР статуса вы никогда не отдадите.

    при этом сама по себе дурацкая задача "если пользователь пришёл с определенного ip и ему нужно отдать 404" вообще никакого отношения к обсуждаемому вопросу не имеет. И решать ее по-хорошему надо на уровне веб-сервера. Если вообще надо, в чем есть большие сомнения.
    Ответ написан
    4 комментария
  • Как добавить всплывающее окно на сайт 1с битрикс?

    godsplan
    @godsplan
    1. Заходим на https://freelance.habr.com/
    2. Ищем исполнителя
    3. Оплачиваем заказ
    4. Получаем результат
    Ответ написан
    Комментировать
  • Как удалить все до и после второго символа?

    phaggi
    @phaggi
    лужу, паяю, ЭВМы починяю
    Сначала заменяешь то, что внутри слешей вместе со слешами на что-то уникальное для этой строки (пробел например), потом делаешь сплит строки по пробелу.

    А вообще сделать строке explode по слешу и потом взять нулевой и последний элементы массива.
    Ответ написан
    1 комментарий
  • Как обновить сайт?

    GavriKos
    @GavriKos
    но наш сайт не поддерживает его

    сделать так, чтобы поддерживал.
    Ответ написан
    Комментировать
  • Выводит полностью код php что делать?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Вангую шорттеги...
    Ответ написан
    2 комментария
  • Почему в цикле выводит еще одно значение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Здравствуйте, у меня такая проблема, когда я создаю цикл в php у меня выводится еще одно значение
    Ох уж эти циклы проказники, бывает...

    Допустим у меня в БД есть 2 поле
    2 поле это что? Насколько видно из скринов, в структуре таблицы у вас 5 полей, и 2 записи в таблице. Вы про записи?

    и при выводе на страницу я получаю 4
    Смотрим глазками в разметку, считаем на пальчиках сколько раз мальчик написал test в одной итерации цикла? Загибаем 3 пальчика. Записываем в тетрадку 3 палочки. Далее смотрим что нам вывел цикл? Загибаем пальчики 3 на одной ручке, 3 на другой... Сколько ручек? 2! Пишем в тетрадку - вывелось 2 раза по 3. Вроде пальцы с палочками сошлись...
    Ответ написан
    2 комментария
  • PHP: чем отличается __DIR__ от dirname(__DIR__)?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    echo __DIR__ . PHP_EOL;
    // /home/user/scripts
    echo dirname(__DIR__) . PHP_EOL;
    // /home/user
    Ответ написан
    Комментировать
  • Как вывести время д.ч.м из миллисекунд в PHP?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В одной секунде 1000 миллисекунд.
    В одной минуте 60 секунд.
    В одном часе 60 минут.
    В одних сутках 24 часа, но это не точно.
    Ответ написан
    1 комментарий
  • Почему поступает пустой запрос, и выдает ошибку?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Бросайте вы эти видеоуроки, они вас плохому научат.
    1. Не надо напрямую подставлять переменные в запрос, для этого есть плейсхолдеры. Читать про SQL Injection.
    2. Не надо руками ловить ошибки mysqli. Надо устанавливать правильные опции при подключении. Читать https://habr.com/ru/post/662523/
    3. Если уж вы ловите ошибки самостоятельно, то выводите полный текст ошибки, а не просто паническое "Ой, что-то случилось!".
    4. Не надо хранить в своей базе данные кредитных карт клиентов, да ещё и вместе с CVV. Учитывая пункт 1, это всё равно, что писать их на заборе. Читать про PCI DSS.
    Ответ написан
    4 комментария
  • Почему не могу подключить php к базе данных MySQL?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Посмотрите внимательно - у вас даже здесь подсветка кода ломается из-за синтаксической ошибки.
    - echo "id: " . $row["nickname"]. " - Name: " . $row["result"]. " . "<br>";
    + echo "id: " . $row["nickname"] . " - Name: " . $row["result"] . "<br>";
    Ответ написан
    Комментировать
  • Как обновить версию php на сервере,где расположен сайт на битриксе?

    toxa82
    @toxa82
    Как и для других сайтов. Ставишь новую версию пыхи, переключаешь апач/нджинкс на новую пыху. В зависимости от разницы между версиями, офигеваешь от сломанного сайта и ошибок. Откатываешься назад, ибо обычно просто так апнуть версию без изменения кода не получиться. Поднимаешь версию для разработки на тестовом сервере с новой пыхой, фиксишь/обновляешь код, потом выливаешь это на прод и обновляешь пыху снова. Если руки прямые и из плеч то должно получиться.
    Ответ написан
    Комментировать
  • Какие ограничения в PHP существуют?

    iMedved2009
    @iMedved2009
    Не люблю людей
    имя им легион
    php -i | egrep 'limit|timeout|max'


    hard_timeout => 2 => 2
    log_errors_max_len => 1024 => 1024
    max_execution_time => 0 => 0
    max_file_uploads => 20 => 20
    max_input_nesting_level => 64 => 64
    max_input_time => -1 => -1
    max_input_vars => 1000 => 1000
    memory_limit => -1 => -1
    post_max_size => 8M => 8M
    upload_max_filesize => 2M => 2M
    zend.exception_string_param_max_len => 0 => 0
    mbstring.regex_retry_limit => 1000000 => 1000000
    mbstring.regex_stack_limit => 100000 => 100000
    memcached.default_connect_timeout => 0 => 0
    memcached.sess_connect_timeout => 0 => 0
    memcached.sess_lock_max_wait => not set => not set
    memcached.sess_lock_wait_max => 150 => 150
    memcached.sess_server_failure_limit => 0 => 0
    mysqli.max_links => Unlimited => Unlimited
    mysqli.max_persistent => Unlimited => Unlimited
    Read timeout => 86400
    pcre.backtrack_limit => 1000000 => 1000000
    pcre.recursion_limit => 100000 => 100000
    pgsql.max_links => Unlimited => Unlimited
    pgsql.max_persistent => Unlimited => Unlimited
    session.cache_limiter => nocache => nocache
    session.gc_maxlifetime => 1440 => 1440
    default_socket_timeout => 60 => 60
    unserialize_max_depth => 4096 => 4096
    xdebug.connect_timeout_ms => 200 => 200
    xdebug.max_nesting_level => 256 => 256
    xdebug.max_stack_frames => -1 => -1
    xdebug.remote_timeout => (setting renamed in Xdebug 3) => (setting renamed in Xdebug 3)
    xdebug.var_display_max_children => 128 => 128
    xdebug.var_display_max_data => 512 => 512
    xdebug.var_display_max_depth => 3 => 3
    opcache.force_restart_timeout => 180 => 180
    opcache.jit_bisect_limit => 0 => 0
    opcache.jit_max_exit_counters => 8192 => 8192
    opcache.jit_max_loop_unrolls => 8 => 8
    opcache.jit_max_polymorphic_calls => 2 => 2
    opcache.jit_max_recursive_calls => 2 => 2
    opcache.jit_max_recursive_returns => 2 => 2
    opcache.jit_max_root_traces => 1024 => 1024
    opcache.jit_max_side_traces => 128 => 128
    opcache.max_accelerated_files => 10000 => 10000
    opcache.max_file_size => 0 => 0
    opcache.max_wasted_percentage => 5 => 5


    Вы явно пытаетесь что то не то.
    Ответ написан
    Комментировать
  • Почему не формируется массив из цикла по XML?

    irishmann
    @irishmann
    Научись пользоваться дебаггером
    Привет от выскочки
    62e24fde60a14322797359.png

    <?php
    $xmlstr = <<<XML
    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE yml_catalog SYSTEM "shops.dtd">
    <yml_catalog date="27 Jul 2022 18:25:14">
        <shop>
            <name>Официальный интернет-магазин KRUPS</name>
            <company>ООО "Фирменные решения"</company>
            <currencies>
                <currency id="RUB" rate="1"/>
            </currencies>
            <categories>
                <category id="7">Продукты</category>
                <category id="12" parentId="7">Кофеварки</category>
                <category id="11" parentId="12">Капельные кофеварки</category>
                <category id="2" parentId="7">Автоматические кофемашины</category>
                <category id="3" parentId="7">Рожковые кофеварки</category>
                <category id="5" parentId="7">Кофемолки</category>
                <category id="10" parentId="7">Капсульные кофемашины</category>
                <category id="4" parentId="10">Nescafe Dolce Gusto</category>
                <category id="9" parentId="10">Nespresso</category>
                <category id="6">Аксессуары</category>
                <category id="8" parentId="6">Аксессуары для кофемашин</category>
            </categories>
        </shop>
    </yml_catalog>
    XML;
    $xml = new SimpleXMLElement($xmlstr);
    $cat = [];
    foreach ($xml->shop->categories->children() AS $category) {
        $id = (int) $category->attributes()->id;
        $value = (string) $category;
        $cat[$id] = $value;
    }
    var_dump($cat);
    Ответ написан
    1 комментарий
  • Что нужно прописать в php файле, чтобы при написании php path/to/file в командной строке вызывалась по умолчанию функция index()?

    @rPman
    php path/to/file arg1 arg2
    в php:
    echo "Количество аргументов: $argc, массив арументов:";
    print_r($argv)

    $argv массив строк с аргументами, нулевая - имя файла path/to/file
    Ответ написан
    4 комментария
  • Как урезать float?

    На выбор
    В офф. документации php можете посмотреть примеры

    ceil() - Округляет дробь в большую сторону
    round() - Округляет число типа float
    floor() — Округляет дробь в меньшую сторону
    Ответ написан
    Комментировать