• Как в битриксе можно завершить работу агента?

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

    .runComponentAction и так шлет все по сути на одну точку входа - вам нужно лишь создать соотвествующий компонент

    .runAction можно использовать для модуля и создавать свои контроллеры внутри модуля.

    НУ и третий вариант вам уже предложили - используя новый роутинг настроить точку входа, например:
    $routes->post('/api/feedback', [\App\Controller::class,'sendFeedback']);


    Далее вы просто создаете контролер скажем local/php_interface/lib/App/Controller.php
    Остается сделать автозагрузку. Я просто описываю для композера:
    {
        "name": "mav/myproject",
        "type": "project",
        "autoload": {
            "psr-4": {
                    "App\\": "lib/App",
                }
        },
        "require-dev": {
            "kint-php/kint": "dev-master"
        },
        "require": {
            "mav/slovo": "^0.2.3"
        }
    }


    Всё.
    Ответ написан
    Комментировать
  • Как через ssh выгрузить проект локально и аплоадить изменения?

    Из всех редакторов и IDE, нормально работает по сети, без удаленного сервера, только Komodo. И sftp и ftp. Для VS Code есть расширение ftp-simple, но очень неудобное, уже не помню в чем. Все остальные редакторы либо имеют такие же глючные или неработающие расширения, или вообще костыли типа того что вы описали в web storm, когда проект выкачивается локально. В этом случае лучше уж подключить удаленную папку проекта по сети, через тот же sshfs, хотя это медленно будет. Или через NFS - это будет поживее.

    пробовал выгрузить через плагин ssh fs - нет возможности аплдоадить.

    Не знаю чего у вас за плагин такой, но при подключении по sshfs ничего не надо ни выгружать ни аплойдить - вы просто монтируете удаленную папку.
    Ответ написан
    Комментировать
  • Как в vscode сделать заметки в виде боковой панели?

    Перебрал несколько расширений, в итоге сделал папку howto локальную с md файлами и добавляю ее в проекты просто, как вторую папку:
    Ответ написан
  • Как настроить навигационную цепочку?

    Не важно как у вас строятся URL. И то что последний раздел тоже кликабельный значения не имеет.
    Подозреваю вы используете штатные комплексные компоненты в SEF режиме - т.е. сделали всё чтобы потерять контроль над роутингом.
    Самое просто решение думаю - это выключить в компонентах добавление айтемов в навигационную цепочку и управлять ей вручную в component_epilog.php: $APPLICATION->AddChainItem('Имя', 'Ссылка', true);
    Ответ написан
    Комментировать
  • Есть ли на PHP сокращенный перебор массива?

    Еще один вариант, ближе к стилю js:
    $ar = array_map(function ($Val) {
    				// ваш код
    				return $NewVal;
    			}, [1,2,3]);
    Ответ написан
    2 комментария
  • Как построить взаимодействие админки с данными проекта?

    Для начала забыть про админку.
    Проверять права пользователей на уровне модели данных.
    Пилить нужные пользователям интерфейсы.
    Профит.
    Ответ написан
  • Как можно сделать в Visual Studio скобки разноцветными (желтыми, синими) как в VS code?

    В теме, в секции color за это отвечают editorBracketHighlight.foreground{X}:
    643add23ce3df654405767.png
    с 12 по 17
    Ответ написан
  • Возможно ли по "одному клику" включить/выключить проксирование для всей системы?

    VPN это VPN и просто указать порт, адрес и доступы для его настройки не достаточно. Однако и прокси это не вот эта вот запись, а сервер работающий на какой-то машине. А запись параметров подключения это всего лишь запись параметров подключения и все.
    Ну а раз у вас уже есть машина на которой вы зпустили прокси, почему бы на ней же не запустить и VPN? Тот же OpenVPN настраивается с помощью скриптов настройки, которых полно в сети, уже проще любого прокси.
    Ответ написан
    Комментировать
  • Как почистить папку с 246к папок по ssh?

    Так снеси просто bitrix/cache:
    rm -rf bitrix/cache
    Ответ написан
    2 комментария
  • Как пересчитать сумму доставки при выборе адреса?

    А как вы цену назначает? Ну вот там же смотрите какой выбран пункт и в зависимости от него считайте.
    В чем у вас конкретно проблема?

    У вас есть метод calculateConcrete? Вы в нем вычисляете стоимость доставки?
    Ответ написан
  • Сортировка сразу по нескольким параметрам - Наличие и цена, есть ли способ?

    В любом практически компоненте можно сделать сортировку по двум параметрам. В комплексном компоненте catalog для этого есть параметры ELEMENT_SORT_{ORDER|FIELD} и ELEMENT_SORT_{ORDER|FIELD}2

    Но если вам нужно больше чем два параметра - придется делать нормально.
    Ответ написан
  • Программирования учат или применяют?

    Программирование это по сути просто подробное описание процесса или объекта (в случае с html, например), на каком-то языке.

    Можно ли хорошо владеть языком не зная теории? В принципе - да. Говорите же вы на русском и понимаете его не зная например всех его падежей.

    Можно ли владеть языком на самом высочайшем уровне? Легко. Гомер или Шекспир не дадут соврать. Но Гомеров и Шекспиров в истории человечества было ровно по одному. Да я тягались они со своими современниками так же ничего не знавшими о теории языков на которых они писали. Может ли современный писатель или поэт стать классиком не будучи знакомым с теорией языка? Может. Но без теории написания текстов - вряд ли. Вам будет сложно написать интересную книжку или сценарий фильма, не будучи знакомым хотя бы с "Морфологией волшебной сказки" Проппа.

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

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

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

    Какие могут быть исключения?

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

    2 Если данные прилетающие в ответ на отправляемые запросы используются разными компонентами, а не только тем которые отправляет запрос. В этом случае для хранения данных лучше использовать стор и туда же поместить запросы, например в экшены viuex, а компоненты в этом случае должны взаимодействовать не с сервером, а с vuex.
    Ответ написан
    Комментировать
  • Как хранить дополнительные данные компонентов?

    Suntechnic
    @Suntechnic Автор вопроса
    Если бы современные трасформеры могли ответить на этот вопрос, я бы вообще сюда не пришел.
    Ответ написан
    Комментировать
  • Ноутбук для программирования для php?

    Возьми Thinkpad лучше на Avito. Вот реально - пользоваться ноубуками профессионально - то еще удовольствие.
    За эти деньги которые стоит LENOVO V15 G2 ITL можно взять вполне приличную Tэшку или даже какой-нибудь P50s.
    Есть еще странные Thinkpad на которых почему-то написано latitude, но в их модификациях не разбираюсь )))

    И да - 8Гб это смешно в 2023 году.
    Ответ написан
  • Работа с контроллерами в 1с-битрикс?

    У вас нет метода init с конфигурацией экшенов - добавьте что-то такое:

    private $actionsConfig = [
                'view' => [
                       '-prefilters' => [
                               '\Bitrix\Main\Engine\ActionFilter\Authentication'
                           ]
                       ],
                'add' => [
                    '-prefilters' => [
                            '\Bitrix\Main\Engine\ActionFilter\Authentication'
                        ]
                ]
    
        protected function init()
        {
            parent::init();
            foreach ($this->actionsConfig as $name=>$arConfig) $this->setActionConfig($name, $arConfig);
        }
    Ответ написан
    4 комментария
  • Как настроить SSH/FTP на VSCode?

    https://marketplace.visualstudio.com/items?itemNam... - по ssh

    По FTP/sFTP нормально только Komodo умеет работать. Других редакторов не встречал.
    Для VS Code есть https://marketplace.visualstudio.com/items?itemNam... и он вроде как работает, но конечно не так как в Komodo.
    Ответ написан
    Комментировать
  • Выгодно ли заморачиваться с своим хостингом или дешевле купить виртуальный?

    Выгодно ли заморачиваться с выпеканием хлеба? Купить хлебопечку, муку, дрожи, ставить эту чачу и самому печь?
    Выгодно ли заморачиваться с домашним производством чачи? Сажать виноград, сбраживать, купить ректификационную колонну...
    Выгодно ли заморачиваться с пошивом одежды...

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

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

    Но если вам надо
    создавать функции с такими же именами но уже в другой функции.

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

    Кроме того зачем имена функций внутри функции? Может быть есть смысл создать там анонимные функции? Или лучше создать класс/объект?

    Неплохо бы увидеть реальный код, а не вот такой вот общий пример.
    Ответ написан
    2 комментария