Рубрика: php

  • Zadarma API. Работающие примеры запросов php \ bash.

    API сервиса телефонии Zadarma достаточно сильно усложнено и может вызвать проблемы — приведу несколько проверенных и работающих примеров обращения к API. Первый и самый очевидный вариант — официальная либа на php. Видел много вопросов у людей по её работе, собственно поэтому и решил написать статью с разными вариантами запросов. Работа с библиотекой сводится к нескольким […]

  • Laravel. Ошибка artisan clear-compiled return error code 255

    При попытке выполнить установку или апдейт composer на проекте Laravel недавно получил ошибку artisan clear-compiled return error code 255. Встретил её впервые, но, быстро удалось решить — об этом речь пойдет в этой статье. Итак, для решения выполните следующие шаги: 1) удалите composer.lock 2) удалите папку vendor 3) удалите файлы services.php и compiled.php с папки […]

  • Php. cURL. Как получить и отправить cookie?

    Отправка или получение cookie, при работе с cURL — не повседневная задача, но, тем не менее, достаточно вероятна. В этой статье — короткие примеры решения вопроса. Как получить cookie? Красивое решение подсмотрел здесь. Итак, приведу пример. $ch = curl_init(‘http://www.google.com/’); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $result = curl_exec($ch); // читаем куки здесь preg_match_all(‘/^Set-Cookie:\s*([^;]*)/mi’, $result, $matches); […]

  • Php. Как получить имя класса без namespace?

    Короткий пример, как при помощи Reflection узнать имя текущего класса, но БЕЗ его namespace. Код выглядит так: (new \ReflectionClass($this))->getShortName(); Как Вы понимаете, $this — экземпляр класса. Также есть другой, менее «элегантный» вариант) substr(strrchr(__CLASS__, «\\»), 1); Результат будет один и тот же. Надеюсь, что статья была Вам полезной. Удачи.

  • Решение manifest for yiisoftware/yii2-php:latest not found

    При попытке скачать образ yii2-php с docker-hub Вы, вероятно, получите ошибку manifest … not found. В короткой статье я расскажу, как решить эту проблему. Итак, проблема говорит, что docker не может найти :latest-версию репозитория. Согласно официальному ответу нужно использовать явное указание версии, которая Вам нужна. На момент написания статьи список версий выглядит так: 7.2-apache 7.1-apache […]

  • Как решить Composer Fatal error: Declaration of Fxp… must be compatible with …AbstractAssetsRepository.php?

    При установке, к примеру Yii2-пакета из композера Вы можете столкнуться с ошибкой «Composer Fatal error: Declaration of Fxp… must be compatible with …AbstractAssetsRepository.php». Так было и со мной, но я нашел быстрый и действенный способ решения проблемы, которым и хочу поделиться. Итак, выполните последовательно в Терминале следующие действия: — удаляем старый fxp: composer global remove […]

  • Php. Как узнать разницу в днях между датами?

    Есть несколько способов, как узнать разницу между двумя датами в днях на php. В этой очень короткой статье приведу пример реализации задачи. Итак, к примеру Вам нужно узнать, сколько дней прошло с определенной даты до сегодняшнего дня. В этом Вам поможет следующий код: date_diff(new \DateTime(), new \DateTime(‘2019-01-01’))->days Все предельно просто — функция date_diff возвращает экземпляр […]

  • Yii2. Как проверить, запущено ли приложение из консоли?

    Иногда на общих методах бывает необходимость по-разному обрабатывать запрос в зависимости от источника вызова приложения — консоль или браузер. В этой статье пример свойства, которое поможет определить этот момент. На просторах интернета есть много примеров реализации — использование is_a, instanceof, внутренние константы и т.д. Все они хороши, но команда Yii2 всё сделала за нас и […]

  • Как получить ключ элемента массива с максимальным или минимальным значением?

    В этой короткой статье наглядный пример, как получить ключ массива в соответствии с его минимальным или максимальным значением. Итак, решение проблемы занимает всего одну строку: $max = array_keys($array, max($array))[0]; Собственно всё 🙂 Естественно, для получение минимального значения следует поменять max на min. Надеюсь статья была полезной — всегда рад Вашим комментариям.

  • Php. DOMDocument. Ошибки при разборе html5 тегов

    После вызова loadHTML из объекта DOMDocument Вы с большой вероятностью получите различные ошибки, которые связаны с ошибками при разборе html5-тегов. С этой статье пример, как решить проблему. К сожалению, ничего красивого я Вам не предложу — самый действенный и рабочий способ — отключить рапортацию об ошибках. $dom = new DOMDocument; libxml_use_internal_errors(true); $dom->loadHTML(‘…’); libxml_clear_errors(); На дальнейшую […]