Рубрика «php»

Дисклеймер: Это статья-проверка на прочность. Проект работает на PHP + MySQL + Polling каждые 3 секунды. Если вы кликнули по ссылке, а сервер отдаёт 502 или упорно молчит — значит, поллинг взял своё под нагрузкой Хабра, а я прямо сейчас судорожно оптимизирую запросы и чиню базу!

Привет.

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

Небольшая предыстория — без рассказа про сам продукт, только про боль и как я её разгребал

Изначально это был монолитный портал на Laravel 8, где user‑фронт и admin‑фронт лежали рядом с беком в одной папке.

Проект ставился каждому клиенту на его собственный хостинг, и единого портала «для всех» не существовало, между клиентами отличался и бек, и фронт. 

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

Большинство ORM строятся вокруг естественного предположения: одной таблице соответствует одна entity. Это настолько привычно, что даже не обращаешь внимания.

Это не правило, но вокруг него проектируются почти все остальные механизмы: метаданные принадлежат классу, Unit of Work отслеживает экземпляры этого класса, миграции собираются из его описания, а объектная модель постепенно начинает повторять структуру базы данных.

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

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

Почему одна вставка в PHP‑массив может стоить 100 мс - 1

На примере PHP хорошо видно, как внутренние оптимизации динамически типизированного языка развиваются и усложняются.

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

Я аналитик, а не разработчик. Весь код для созданной нами платформы написал Claude Opus через Claude Code. Рассказываю без хайпа: как выглядит реальный workflow, где нейросеть незаменима, где она бесполезна, и какая инженерная дисциплина обязательна, чтобы это не превратилось в тыкву на боевом.

Сразу обозначу рамку, чтобы снять половину вопросов из комментариев.

Я не умею писать продакшн‑код. Я аналитик: читаю код, рассуждаю о системах, проектирую поведение — но профессионально не кодю. Тем не менее у нас в проде работает нетривиальное веб‑приложение, и каждую строчку кода написала нейросетьЧитать полностью »

Я работаю в Росэлторг, крупнейшем операторе электронных торгов: множество торговых секций, более миллиона пользователей, а общий объём проведённых торгов перевалил за 52 трлн рублей. Документов соответственно много: документация по закупкам, заявкам, протоколам, аккредитационные сведения, договоры — каждый привязан к сущностям со своими правилами доступа в зависимости от набора ролей пользователя и состояния закупочной процедуры.

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

В качестве вступления небольшой дисклеймер. Ниже длиннопост про самописный PHP-фреймворк, с примерами кода и его описанием. Автор не интерпрайз-разработчик, по образованию я юрист, а программирование для меня просто хобби, то, что меня занимает. Повествование идет о том, как я собирал свою систему исходя из своего представления о прекрасном и к чему в итоге пришел.

Большинству писать свой фреймворк не нужно от слова совсем. Берете Symfony, Laravel, Spiral, [ваш любимый фреймворк], нужный набор библиотек и решаете продуктовую задачу. Это разумный путь.

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

Как я спасал Magento 2 с 1 млн товаров и 10 млн CMS страниц от 504 ошибок - 1

Технологический стек:

  • Magento 2.4.4

  • MariaDB

  • Redis

  • Varnish

  • OpenSearch

Размер проекта:

  • ~1,000,000 товаров

  • ~3,000 категорий

  • ~10,000,000 CMS страниц

Проблема:

«Fix typo»: как в PHP закоммитили бэкдор и почему composer install — это акт доверия - 1

В марте 2021 года в официальный Git-репозиторий PHP прилетели два коммита. Первый назывался невинно — [skip-ci] Fix typoЧитать полностью »

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

Сегодня пост будет посвящен передачи значений переменной PHP в JavaScript — сценарий.
Этот урок подойдет самым новичкам, тем кто только начинает заниматься Web — программированием.
Для начала создадим обычный документ index.php и его каркасом будет служить простой HTML код.
Читать полностью »


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