Рубрика «php» - 31

Дисклеймер: данная статья не явит вам какого то откровения и не откроет третий глаз, но позволит разобраться в не очень очевидном вопросе более детально. Мне по крайней мере при ее написании она в этом помогла. Если вы матерый волк в php то можете не читать, опытным человекам думаю не повредит пробежать глазами, освежить так сказать в памяти, остальным будет норм.

Итак...

Статические переменные, в php это особый вид переменных, которые объявляются при помощи ключевого слова static.

static $foo = 3;

От обычных переменных они отличаются тем что (далее в статье эти пункты будут рассмотрены более подробно):

  1. могут быть присвоены только константы и константные выражения
  2. время жизни статической переменной не ограничено временем жизни области видимости в которой она была объявлена
  3. могут быть определены в скрипте лишь однажды
  4. не уничтожаются до конца выполнения скрипта

Теперь по порядку.

1. Могут быть присвоены только константы и константные выражения

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

Читать полностью »

PHP microservice framework — `Hello world` of Swoft - 1

Overview

What is Swoft?

Swoft is a PHP high performance microservice coroutine framework. It has been published for many years and has become the best choice for php. It can be like Go, built-in coroutine web server and common coroutine client and is resident in memory, independent of traditional PHP-FPM. There are similar Go language operations, similar to the Spring Cloud framework flexible annotations.

Through three years of accumulation and direction exploration, Swoft has made Swoft the Spring Cloud in the PHP world, which is the best choice for PHP's high-performance framework and microservices management.

Читать полностью »

Привет, меня зовут Павел Савельев, я руководитель отдела автоматизации бизнес-процессов в Lamoda. Мы работаем с очень разными задачами, и стараемся подобрать для каждой наиболее удобный инструментарий. Соответственно, мы используем разные языки — в наших системах можно встретить и Java, и Go, и немного Kotlin под андроид. При этом значительная часть разработки ведется на PHP, на нем написаны более двух десятков сервисов, которые автоматизируют не только работу с заказами, но и операционные процессы широкой сети доставки, колл-центров в трёх странах и собственной фотостудии, а также предоставление всего этого в виде услуг нашим B2B-партнерам. Эти сервисы поддерживают и развивают пять команд разработки нашего отдела.
image

По мере развития как самих сервисов, так и инфраструктуры вокруг них, в этих системах все чаще возникают похожие задачи, такие как логирование в общую CLS (Centralized Logging System), тестирование файлового хранилища, сбор метрик для Prometheus и другие. Мы стараемся стандартизировать способы решения таких задач и использовать для разных систем общие компоненты.
Читать полностью »

PHP-Дайджест № 164 (27 августа – 9 сентября 2019) - 1

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.4.0 RC1, Laravel 6, Monolog 2 и другие релизы, Union Types и прочие новости из PHP Internals, порция полезных инструментов, пачка подкастов и многое другое.

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

Читать полностью »

image

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

Самый крупный ресурс в рунете, на котором можно найти и то и другое — это opencartforum.com, на котором на сегодня зарегистрировано более 140к пользователей. Из этих 140к регистраций, пусть половина — это живые люди с живыми магазинами, которые так или иначе пользуются шаблонами, модулями, которые можно тут же приобрести на площадке. И все эти люди, даже не догадываются, что вместе с дополнениями они приобретают себе чудесные бекдоры и уязвимости, о которых любой мамкин хакир может только мечтать.
Читать полностью »

Ускорение Magento c помощью RoadRunner
PHP создан умирать. И все было бы хорошо, но в последнее время это сделать ему не дают. Год назад на хабре состоялся анонс инструмента RoadRunner, заставляющего PHP процесс выйти из бесконечного круга гибели и воскрешения.

Принцип работы RoadRunner заключается в удержании запущенного процесса и подкидывания в него поступающих запросов, что позволяет, по словам разработчиков, увеличить производительность приложения (иногда даже в 40 раз).

Поскольку долгом работы я связан с Magento, то показалось отличной идеей проверить инструмент не на мифическом фреймворке, а на реальном приложении, для чего отлично подошла Magento Open Source.

Читать полностью »

Существует несколько кодировок символов кириллицы.

При создании сайтов в Интернете обычно используют:

  • utf-8
  • windows-1251
  • koi8-r

Еще популярные кодировки:

  • iso-8859-5
  • ibm866
  • mac-cyrillic

Вероятно это не весь список, это те кодировки с которыми я часто сталкиваюсь.

Иногда появляется необходимость определить кодировку текста. И в PHP даже функция для этого есть:

mb_detect_encoding

но как писал m00t
в статье Определение кодировки текста в PHP — обзор существующих решений плюс еще один велосипед

Если кратко — он не работает.

Прочитав статьи m00t я не вдохновился его методом и нашел вот такое решение: Определение кодировки текста в PHP и Python
Как сказал m00t

опять коды символов

Я протестировал функцию определения кодировки по кодам символов, результат меня удовлетворил и я использовал эту функцию пару лет.

Недавно решил переписать проект где использовал эту функцию, нашел готовый пакет на packagist.org cnpait/detect_encoding, в котором кодировка определяется методом m00t

При этом указанный пакет был установлен более 1200 раз, значит не у меня одного периодически возникает задача определения кодировки текста.

Мне бы установить этот пакет и успокоиться, но я решил «заморочиться».
Читать полностью »

В PHP 7.4 появится FFI, т.е. можно подключать библиотеки на языке C (или, например, Rust) напрямую, без необходимости писать целый extension и разбираться в его многочисленных нюансах.

Давайте попробуем написать код на Rust, и используем его PHP-программе

Читать полностью »

Социальные тренды все глубже проникают даже в те сферы, которые кажутся весьма закрытыми и отстраненными от разного рода политических и общественных дискуссий. Так, недавно организаторы международной конференции для PHP-разработчиков, намеченной на октябрь этого года, сообщили об ее отмене. Причиной стал скандал, возникший после того, как некоторые участники сообщества заметили, что в числе заявленных докладчиков нет ни одной женщины. Сейчас на сайте мероприятия висит заглушка, сообщающая, что phpCE отменяется и больше проводиться не будет.

Конференцию PHP Central Europe отменили из-за того, что среди выступающих не оказалось женщин - 1
Читать полностью »

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

Несмотря на это, презентации новых версий битрикса пестрят красивыми заголовками и стараются поддерживать у потенциальных клиентов иллюзию развития, обещая скорость, надёжность и главное безопасность, подтверждённую старым сертификатом ФСТЭК

Почему 1С-Битрикс с 1 декабря 2019 года может превратиться в тыкву - 1

Но есть нюансы

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js