• Как обработать запрос в Laravel Octane в одном потоке?

    iMedved2009
    @iMedved2009
    Не люблю людей
    Операция проверить есть запись и вставить - не атомарная. У вас одновременно может выполнится вагон проверок и начать вставку.

    1. Использовать локи. Залочили таблицу, проверили, вставили, убрали лок.

    2. Повесить unique на связку поле ['user_id', 'post_id'], и через catch ловить нужный exception.

    3. Повесить unique на связку поле ['user_id', 'post_id'], и добавить макро upsert - на вставку pivot.
    Ответ написан
    5 комментариев
  • Сделать запрос QIWI API на PHP?

    Вот для примера wrapper для api
    class QiwiApi {
        private $_phone;
        private $_token;
        private $_url;
     
        function __construct($phone, $token) {
            $this->_phone = $phone;
            $this->_token = $token;
            $this->_url   = 'https://edge.qiwi.com/';
        }
        private function sendRequest($method, array $content = [], $post = false) {
            $ch = curl_init();
            if ($post) {
                curl_setopt($ch, CURLOPT_URL, $this->_url . $method);
                curl_setopt($ch, CURLOPT_POST, 1);
                curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($content));
            } else {
                curl_setopt($ch, CURLOPT_URL, $this->_url . $method . '/?' . http_build_query($content));
            }
            curl_setopt($ch, CURLOPT_HTTPHEADER, [
                'Accept: application/json',
                'Content-Type: application/json',
                'Authorization: Bearer ' . $this->_token
            ]); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
            $result = curl_exec($ch);
            curl_close($ch);
            return json_decode($result, 1);
        }
        public function getAccount(Array $params = []) {
            return $this->sendRequest('person-profile/v1/profile/current', $params);
        }
        public function getPaymentsHistory(Array $params = []) {
            return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments', $params);
        }
        public function getPaymentsStats(Array $params = []) {
            return $this->sendRequest('payment-history/v1/persons/' . $this->_phone . '/payments/total', $params);
        }
        public function getBalance() {
            return $this->sendRequest('funding-sources/v1/accounts/current')['accounts'];
        }
        public function getTax($providerId) {
            return $this->sendRequest('sinap/providers/'. $providerId .'/form');
        }  
        public function sendMoneyToQiwi(Array $params = []) {
            return $this->sendRequest('sinap/terms/99/payments', $params, 1);
        }
        public function sendMoneyToProvider($providerId, Array $params = []) {
            return $this->sendRequest('sinap/terms/'. $providerId .'/payments', $params, 1);
        }
    }
    Ответ написан
    5 комментариев
  • Как менять название города в зависимости от того где находится посетитель?

    Vinnica
    @Vinnica Автор вопроса
    Начинающий верстальщик
    Спасибо кто помогал. нашел простое решение с помощью яндекса

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
    <script charset="utf-8" src="http://api-maps.yandex.ru/1.1/index.xml?key=API-ключ" type="text/javascript"></script>
    <script type="text/javascript">
    $(document).ready(function() {
    if (YMaps.location.city != '') {
    	$('.country span').html(YMaps.location.country);
    	$('.region span').html(YMaps.location.region);
    	$('.city span').html(YMaps.location.city);
    }
    else {
    	$('.title').html('Яндекс ничего не вернул.');
    }
    });
    </script>
    Ответ написан
    Комментировать
  • Как при определенном URL изменить класс тега при помощи PHP?

    @vacslav-dev
    web-developer
    <?php
    $uri = $_SERVER['REQUEST_URI'];
    $button1URI = '/button1uri'; //uri страницы первой кнопки
    $button2URI = '/button2uri'; /uri страницы второй кнопки
    ?>
    ..... .....
    <button id="button1" class="<?php if($uri === $button1URI) {echo 'active'}?>">button1</button>
    <button id="button2" class="<?php if($uri === $button2URI) {echo 'active'}?>">button2</button>

    Где uri - часть строки запроса без доменного имени.
    Ответ написан
    1 комментарий
  • Как задать исключение в regex?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Можно ещё проще:
    if (strpos($text, 'xn--') === false) {
        // Нет такого
    }

    Есть такой анекдот в тему:
    Некоторым программистам, когда они сталкиваются с какой-то проблемой, приходит в голову такая мысль
    — О, я знаю! Это можно сделать с помощью регулярных выражений!
    Это означает, что у этого програмиста теперь ДВЕ проблемы.


    Не переусложняйте)
    Ответ написан
    Комментировать
  • Сколько нужно времени для изучения html, php, css, js, ajax, mySQL?

    mlnkv
    @mlnkv
    JavaScript Developer
    вот столько
    1369452185-3a0e5bfd884670147a053485f2b4b
    Ответ написан
    Комментировать
  • Как составить регулярное выражение для добавления атрибута к ссылкам в блоке?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Правильно решение разумеется оплачу.

    Ты ошибся сайтом. Тебе на фрилансим.ру. Даром что ли тут постоянно баннер висит?

    Но я тебе дам правильное решение бесплатно.
    Судя по кастомным тегам, это шаблон.
    Так вот, найди себе нормальный шаблонизатор, который не потребует регулярок для своего редактирования.
    Ответ написан
    Комментировать