Все потоки
Поиск
Написать публикацию
Обновить
188.85

PHP *

Скриптовый язык общего назначения

Сначала показывать
Порог рейтинга
Уровень сложности

PHP-Дайджест № 194 (1 – 14 декабря 2020)

Время на прочтение7 мин
Количество просмотров14K

Свежая подборка со ссылками на новости и материалы. В выпуске: Enum в PHP 8.1, удаление Serializable и ограничение $GLOBALS, а также другие новости из PHP Internals, PhpStorm 2020.3, Symfony UX, порция полезных инструментов, видео, и первый PHP Дайджест Стрим.

Приятного чтения!


Автоматизация Instagram

Время на прочтение8 мин
Количество просмотров9.8K

По работе попалась интересная задача по автоматизации Instagram, а именно надо было просто провести розыгрыш. Сервисов для организации этой затеи достаточно, есть даже бесплатные. Но были дополнительные (читай премиум) условия, к тому же мне очень захотелось самому посмотреть, что там внутри этой популярной инстаграмы и быть может набраться опыта в построении API.

Первым делом пошел смотреть что там говорят интернеты. Чтение официальных доков по API instagram дали четко понять, что владельцы не хотят давать доступ к неограниченной автоматизации, можно автоматизировать работу со своим аккаунтом в базовом варианте, но это не подходило под мою задачу, а "бизнес" вариант API требовал верификации компании, что естественно мне не подходит. (Может быть уже что-то изменилось …)

Читать далее

Отпусти меня, PHP

Время на прочтение4 мин
Количество просмотров26K

Всем привет, меня зовут Коля и я 10 лет пишу на php. Хлоп-хлоп-хлоп, привет, Коля. Впервые я попробовал PHP в 11 классе, на тот момент были очень популярны сайты для мобилок, и меня это затянуло. Я писал на php на уроках и переменах со своего nokia n73, разбирался с одной из широко известных в узких кругах CMS, и грезил светлым будущим. Вот же оно, я теперь программист, я все понимаю и у меня получается.

Затем была первая работа, брошенный универ, ООП, фреймворки, и первые попытки соскочить. Сначала Java, затем плюсы. Я делал простенькие программки-помощники (трекер времени с автосохранением в jira, десятистрочные плагины для IDE), и среди этих for, if, switch я без проблем плавал как рыба в воде. Но как только требовалось что-то посложнее таймера, сразу начинался бокс с клавиатурой, столом и прочими предметами. Я искренне не понимал, какого черта ошибка выглядит как третий том Войны и Мира, с кучей непонятного текста и полным отсутствием человекопонятного пэхапэшникопонятного описания ошибки.

Читать далее

Laravel–Дайджест (6–13 декабря 2020)

Время на прочтение1 мин
Количество просмотров3.6K

Релиз Laravel Sail и глобальное обновление документации, а также подборка свежих уроков, видео и пакетов по фреймворку Laravel за неделю.


Laravel Дайджест

Читать дальше →

Сравним C++, JS, Python, Python + numba, PHP7, PHP8, и Golang на примере расчёта “Простое Число”

Время на прочтение4 мин
Количество просмотров16K

Все топовые языки программирования уже давно доказали свои позиции и "определились" с нишами своего использования.

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

Измерять можно довольно много параметров и для разных целей.

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

В данной статье мы рассмотрим ускорение программы с использованием JIT-компиляции для языков Python и PHP.

В качестве задачи для расчёта возьмём функцию проверки - является ли число Простыми или нет - "is prime". Возьмём базовый алгоритм проверки на то, что число Простое:

Читать далее

НЕкостыль: gRPC-клиент на PHP в продакшене

Время на прочтение4 мин
Количество просмотров16K
Привет! Я хочу показать, что завести gRPC на PHP — это нормальное боевое решение, которое пишется быстро, легко разворачивается и может быть для вас проще, чем сокеты.


Читать дальше →

Как обновить October CMS до Laravel 6?

Время на прочтение4 мин
Количество просмотров4.8K

Продолжаем рассматривать October CMS, вокруг которой мы в LOVATA построили разработку веб-проектов и в особенности интернет-магазинов. Сегодня мы подготовили для вас инструкцию по обновлению вашей текущей установки October до долгожданной версии 1.1.x с Laravel 6 “под капотом”.

Читать далее

PhpStorm 2020.3: PHP 8, атрибуты, PHPStan и Psalm, Xdebug 3, Tailwind CSS и совместная разработка

Время на прочтение13 мин
Количество просмотров31K


Рады представить финальный мажорный релиз PhpStorm в этом году! Под катом подробный разбор всех изменений и новых возможностей.

Простой Telegram бот, который задаёт 1 вопрос

Время на прочтение10 мин
Количество просмотров16K

От задумки к реализации Telegram бота для противодействия спам регистрациям в группе. В качестве инструментов используется PHP и Laminas Framework.

Читать далее

Мнение о PSR-1: Базовый стандарт написания кода

Время на прочтение2 мин
Количество просмотров6.1K

После прочтения PSR-1 возникли некоторые мысли, о которых хотелось бы поведать сообществу программистов с целью получения рассказов о вашем опыте.

Читать далее

Улучшаем архитектуру: Инверсия и внедрение зависимостей, наследование и композиция

Время на прочтение9 мин
Количество просмотров7.4K

Всем привет. Очень часто, работая со старым (а иногда и не очень) кодом, или пытаясь применить какую-то библиотеку, сталкиваешься с ограничениями в применении. Зачастую проблемы бы не было, будь код архитектурно грамотен. Есть множество архитектурных правил и паттернов, которые в конечном счете облегчают расширение кода, рефакторинг и переиспользование. В статье хочу затронуть некоторые из них в примерах.

Читать далее

SOLID на практике. Принцип открытости-закрытости и ActiveQuery Yii2

Время на прочтение4 мин
Количество просмотров6.9K

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

Читать далее

Ближайшие события

Интегрируем web-телефон в свою систему

Время на прочтение3 мин
Количество просмотров5.8K
Мы уже писали, как и зачем интегрировать телефонию со своей CRM/ERP/Helpdesk системой. Теперь опишем, как это сделать еще проще, добавив на свой сайт web-телефон. WebRTC-виджет позволит звонить и принимать звонки из вашего web приложения, не устанавливая никаких программ и не делая никаких настроек.


Читать дальше →

PHP-Дайджест № 193 (16 – 30 ноября 2020)

Время на прочтение5 мин
Количество просмотров12K

Парад релизов: обновление языка — PHP 8.0, а также Xdebug 3, DBAL 3.0, Bref 1.0, Symfony 5.2, Flysystem 2.0. Первый принятый RFC для PHP 8.1, долгосрочная поддержка PHPUnit, порция полезных инструментов, подкасты, стримы, статьи.

Приятного чтения!


Приглашаю все на вебинар по вопросам безопасности PHP

Время на прочтение1 мин
Количество просмотров1.3K

Вы хоть раз писал на PHP? Я - да!

А хоть раз задумывались о безопасности? Я тоже!

Давайте обсудим вместе на вебинаре, посвященном проблеме безопасности PHP!

Читать далее

Сейчас я буду убеждать вас использовать статический анализ в PHP

Время на прочтение6 мин
Количество просмотров9.2K


Я помню выход PHP7: появились strict types, скалярные type hint-ы.

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

Блокчейн, смарт-контракты… Это просто или сложно?

Время на прочтение4 мин
Количество просмотров6.2K

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

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

Читать далее

PHP 8 — Что нового?

Время на прочтение19 мин
Количество просмотров143K

PHP, начиная с 7 версии, кардинально изменился. Код стал куда быстрее и надёжнее, и писать его стало намного приятнее. Но вот, уже релиз 8 версии! Ноябрь 26, 2020 — примерно на год раньше, чем обещали сами разработчики. И всё же, не смотря на это, мажорная версия получилась особенно удачной. В этой статье я попытаюсь выложить основные приятные изменения, которые мы должны знать.


1. JIT


Как говорят сами разработчики, они выжали максимум производительности в 7 версии (тем самым сделав PHP наиболее шустрым среди динамических ЯПов). Для дальнейшего ускорения, без JIT-компилятора не обойтись. Справедливости ради, стоит сказать, что для веб-приложений использование JIT не сильно улучшает скорость обработки запросов (в некоторых случаях скорость будет даже меньше, чем без него). А вот, где нужно выполнять много математических операций — там прирост скорости очень даже значительный. Например, теперь можно делать такие безумные вещи, как ИИ на PHP.
Включить JIT можно в настройках opcache в файле php.ini.
Подробнее 1 | Подробнее 2 | Подробнее 3


2. Аннотации/Атрибуты (Attributes)


Все мы помним, как раньше на Symfony код писался на языке комментариев. Очень радует, что такое теперь прекратится, и можно будет использовать подсказки любимой IDE, функция "Find usages", и даже рефакторинг!


Забавно, что символ # также можно было использовать для создания комментариев. Так что ничего не меняется в этом мире.
Читать дальше →

Встречаем PHP 8 вместе: советы по обновлению, мнения за и против и интервью с ключевыми разработчиками

Время на прочтение2 мин
Количество просмотров7K
У PHP отличное сообщество. Пандемия отобрала у нас митапы и конференцию, но мы можем собраться 25 ноября вечером в онлайне на:

  • доклад «PHP 8: юзерленд» — нескучный обзор с примерами и рекомендациями,
  • дискуссию о развитии языка,
  • и сессию Q&A с Никитой Поповым (вопросы соберем по ходу эфира).
  • UPD. К стриму также присоединится Дмитрий Стогов


Для участия достаточно зарегистрироваться, это бесплатно. А пока есть время, мы попросили ребят, которые придут в трансляцию, вспомнить, за что они любили и не любили предыдущие версии языка.