Ответы пользователя по тегу PHP
  • Как получить ответ от сервера с помощью cURL PHP?

    Starina_js
    @Starina_js
    full-stack web dev
    Там cloudflare стоит, все чутка сложнее.

    Тут посмотрите решение для php

    Ключевое, надо 1 шагом получить нужные куки , второй шаг как раз выставить нужные заголовки

    Но возможно лучше использовать допустим pupeeter на js , который эмулирует браузер и ждет нужные загрузки
    Ответ написан
    1 комментарий
  • Как правильно распределять ответственность между классами?

    Starina_js
    @Starina_js
    full-stack web dev
    Литература. Хороший источник, имхо
    По ddd можно погуглить порядок чтения книг, плюс допом видосы с конференций на ютубе.
    "Clean Architecture" и "Domain-Driven Design" как знакомство с этим всем делом.

    И скажите, в чём разница между Store и Repository?
    Store - хранилище. Обычно это про паттерн состояние. Оно может содержать логику обновления состояния и взаимодействия с другими частями приложения
    Repository - это такая абстракция для доступа к источнику данных, то есть где хранятся данные. Может быть файловое хранилище, может быть база данных , а иногда , если работаешь с cms/фреймами - их интерфейсы для работы с хранилищами. Как пример: репозиторий, отвечающий за получение и сохранение данных пользователей в базе данных
    Ответ написан
    3 комментария
  • Отправлять информацию о заказе Клиенту в TG \ Vb?

    Starina_js
    @Starina_js
    full-stack web dev
    Скорей всего писать для себя интеграцию. Хотя может на github что-то есть..

    Пример с telegram.
    Задача. Нам нужен бот, который будет присылать сообщение о заказе нужному пользователю.
    Как работает с телеграмом? Когда клиент пишет боту, бот получает id клиента и id комнаты. Их нужно запоминать (ниже) и далее использовать при заказе.

    Задача. Далее нам надо связать клиента с сайта с клиентами из телеграмм.
    То есть нам нужно заранее от клиента в магазине получить разрешение на получение сообщений от телеграмм бота.
    Мы просим клиента написать нашему боту. Кстати там есть специальные даже ссылки, при переходе, бот может их распарсить.

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

    Дальше про процесс заказа.
    Задача. Нужно после успешного / не успешного заказа отправлять информацию нужному клиенту через бота.

    1ой Вариант. Через хуки заказа от Woo .
    Нам нужно подрубиться к хуку заказа Woo и при успешном заказе отправлять клиенту в нужный канал связи, в нужную комнату.
    Когда срабатывает хук заказа -> парсим заказ -> получаем канал связи -> получаем id комнаты для бота -> отправляем через бота сообщение в нужное место

    2ой Вариант. Через очереди и расписание.
    Можно через cron и wp_schedule_event, допустим каждые 10 секунд, запускаем процесс получения заказов -> смотрим те, что еще не были оповещены -> отправляем через бота -> ставим статус отправлено

    Можно даже через сторонний менеджер очередей))
    Ответ написан
    Комментировать
  • Как реализовать кнопку "показать еще"?

    Starina_js
    @Starina_js
    full-stack web dev
    Если вы хотите, чтобы по клику на кнопку появлялись еще сообщения из базы, то тут такой путь
    1. Верстаете кнопку, вешаете на нее событие клика на js
    2. При срабатывании события делаете fetch/ajax запрос на обработчик, передаете параметры последнего сообщения (id последнего сообщения) и в sql ... LIMIT $start, 10 (или limit + offset)
    3. Обработчик получает запрос с параметрами, проверяет, делает запрос в базу с параметрами, отдает ответ обратно на фронт с новыми данными
    4. На фронт прилетают данные, вставляете в нужное место в dom

    Загуглите примеры: php js sql load more results
    Пример готового решения
    Ответ написан
  • Как подключить мерчант payeer к скрипту?

    Starina_js
    @Starina_js
    full-stack web dev
    Присылайте файл, что уже написали, прикладывайте код. Ссылку на документацию

    Пробовали по этой документации? https://timeweb.com/ru/community/articles/podklyuc...
    Ответ написан
  • Как выгрузить Яндекс карту как картинку?

    Starina_js
    @Starina_js
    full-stack web dev
    Как вариант использовать js puppeteer

    const puppeteer = require('puppeteer');
    
    (async () => {
      const browser = await puppeteer.launch({args: ['--no-sandbox', '--disable-setuid-sandbox']});
      const page = await browser.newPage();
      await page.goto('https://buddy.works');
      await page.screenshot({path: 'buddy-screenshot.png'});
    
      await browser.close();
    })();


    https://buddy.works/guides/how-take-screenshots-wi...
    Ответ написан
  • Ошибка 400,403 как исправить?

    Starina_js
    @Starina_js
    full-stack web dev
    jquery ajax? fetch?
    Через что инициализируем отправку?

    Если через fetch , то Promise переходит в состояние rejected при ошибке сети или если что-то препятствует завершению запроса. В противном случае наступает состояние resolved, по нему можно смотреть какой ответ.
    И если ошибка -> повторяем запрос (Promise#catch)

    Если через $.ajax() то на сколько помню, там в error: function () падает. Посмотрите доку.

    А вообще надо бы разобраться, почему так происходит, что иногда 400/403 падают, судя по всему с wp чет не фурычит)
    Ответ написан
    Комментировать
  • Скрипт php для создания json файла, как правильно создать?

    Starina_js
    @Starina_js
    full-stack web dev
    Сам json формируется так
    $items = [
    	"item1" => [
    		"name" => "itemName1",
    		"code" => "itemCode1",
    		"options" => [
    			"var" => "rav"
    		]
    	],
    	"item2" => [
    		"name" => "itemName2",
    		"code" => "itemCode2",
    	],
    ];
    
    $json = json_encode($items);
    
    // Сохранить в файл можно так
    file_put_contents("/path/my.json", $json);
    
    //есть еще параметры, допустим FILE_APPEND - дописываем в конец файла


    А если нужно написать страничку, то создаем html разметку с
    Внутри form указываем нужные input, Форма тип post, button submit.

    При сохранении, получаем значения инпутов ($_POST["input"]) , валидируем и сохраняем как json

    Гуглим , первая ссылка с примерами - https://metanit.com/php/tutorial/3.1.php
    Ответ написан
    Комментировать
  • Стоит ли стажироваться на php разработчика, если у них cms Битрикс?

    Starina_js
    @Starina_js
    full-stack web dev
    Топик очень даже дискуссионный. Тут многое зависит от точки зрения.

    1. Если начинающий разработчик, можно пробовать в Битрикс.
    Плюсы: быстрый старт и вход в профессию веб-разработчика, очень много вакансий от студий.
    На начальном этапе нужно понять азы коммерческой веб-разработки, уронить пару продакшн серверов, затем наполучать от клиентов и своих менеджеров хороших люлей.
    Пет проекты — это хорошо, но опыт коммерческой разработки важен для компаний.
    Студии охотно работают с Битриксом, там есть бюджеты клиентов. Разработчики вполне хорошо зарабатывают в этой нише. На старте конечно меньше, но с опытом быстро растет рейт.
    Минусы: рынок СНГ, дальше не уедешь.
    Кстати, это не значит, что на Битриксе то и дело только шаблоны клепаешь. Я работаю с крупными проектам на Битриксе, с крупной архитектурой проектов и бизнес логикой, большими нагрузками, rest api. Хороший опыт современной разработки.

    2. Из первого пункта вытекает один нюанс, крупных проектов на Битриксе на всех не хватит.
    Чаще всего — это работа с клепанием шаблонов и правок по SEO. Часть бизнес логике описываешь отдельно и передаешь в шаблон. Иногда пишешь свои компоненты или даже модули (чутка интереснее, чем шаблоны).
    Это все рынок услуг, рынок аутсорса. Ты или твоя компания обслуживает клиента: корп сайты, магазины. Ты завязан на требования от клиента, его отдела менеджмента и маркетинга. Мало свободы, рамки.
    Со временем ты понимаешь, что устал от рынка услуг, что хочется в продуктовую разработку. Сервисы, кабинеты, разработка API, архитектура, польза миру и все вот это вот....
    Тут уже ты переключаешься на продуктовый рынок, где одно из требований — современные фреймворки.
    И хорошо, если ты попробовал серьезные проекты на битриксе, будет проще перескочить.
    Но если ты все время клепал шаблоны, то будет сложно. Об этом надо знать заранее, и готовиться заранее. Советую заранее походить по вакансиям, разобраться что от вас требуется знать, уметь, владеть.

    3. Мировой рынок. Тут Битрикса нет :) Тут будут спрашивать опыт, но и заработок другой.
    Хочется сюда? Готовимся заранее... Идем по вакансиям на джунов по фремворкам, доказываем, что есть огромное желание работать. Работаем на опыт. Годик, полтора — смотрим вакансии в мире

    P.S. Не советую на старте во фриланс лезть. Наработка опыта растянется на года, денег там мало, зато нервных срывов, выгорания, бессонных ночей дохрена. Сам проходил)
    Ответ написан
    2 комментария
  • Считать ли опыт разработки под битрикс полноценным опытом в php?

    Starina_js
    @Starina_js
    full-stack web dev
    Если кастом будете пилить, то в принципе прокачка будет.
    Если зависните на стандартной натяжке, то деградация. Подключить компонент и поднастроить шаб, ничего сложного, одна рутина.

    После такой работы, если попадётся нормальный таск, потеряетесь и фейл будет однозначно. Поймёте, что потеряли кучу времени впустую.
    Ответ написан