Как стать автором
Обновить
44.04
Рейтинг

PHP *

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

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

PHP: атрибуты vs аннотации: оптимизируем метадату Doctrine

PHP *Doctrine ORM *

Одним из нововведений PHP 8.0 являются атрибуты. Атрибуты содержат метадату для классов, полей, функций; которая доступна через Reflection API. Казалось бы, то же самое, что и аннотации, тогда зачем обращать внимание на эту фичу?

Читать далее
Всего голосов 16: ↑16 и ↓0 +16
Просмотры 3K
Комментарии 5

Выходя за рамки ООП. Разработка расширений для PHP на PHP

Блог компании Конференции Олега Бунина (Онтико) PHP *Программирование *

Какие есть границы в PHP? Синтаксические они или это рантайм, или же просто ограничения языка, которые нельзя обойти. Почему они существуют? Давайте посмотрим как преодолеть границы живого языка и как взломать его изнутри. Это же всегда интересно?

В этом нам поможет Александр Лисаченко. Он автор аспектно-ориентированного фреймворка Go! AOP и вообще гуру в Enterprise архитектуре.

Читать далее
Всего голосов 25: ↑25 и ↓0 +25
Просмотры 6.3K
Комментарии 10

PHPCleanArchitecture — Что нового?

PHP *Программирование *Анализ и проектирование систем *
Tutorial

Этот пост является дополнением предыдущего. В нём расскажу о новых возможностях инструмента (с блэкджеком и шлюпками с примерами и картинками).

Читать далее
Всего голосов 17: ↑17 и ↓0 +17
Просмотры 5.4K
Комментарии 1

Миграция Laravel Nova с PostgreSQL на CockroachDB. Наш опыт и решение

Блог компании Совкомбанк Технологии PHP *PostgreSQL *Администрирование баз данных *Laravel *

Часто бывает, при ближайшем рассмотрении некоторая проблема выявляет более глубокую, погружаясь в решение которой находишь для себя много интересного.

О такой ситуации на одном из наших проектов и пойдет речь.

Читать далее
Всего голосов 4: ↑3 и ↓1 +2
Просмотры 3K
Комментарии 10

Вместо квестов по поликлиникам: как мы разработали архитектуру информационной системы для пациента

Блог компании БАРС Груп Open source *PHP *PostgreSQL *IT-компании

Привет, я - Алмаз Мустакимов, ведущий разработчик одного из бизнес-центров в компании «БАРС Груп». Мы более года работаем над мобильным приложением, которое фактически позволяет получить любые услуги здравоохранения в режиме единого окна, без многочасовых квестов по поликлиникам.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2K
Комментарии 7

PHP & Kafka — production sadness

Высокая производительность *PHP *IT-инфраструктура *

Это короткая история наивного любителя популярных технологий.

Ранее я уже писал почему на моем текущем проекте мы решили использовать — Apache Kafka, если вкратце, то цель — унификация используемых технологий в компании.

Сфера деятельности компании это ставки на спорт, зона ответственности моей команды состоит в том, чтобы принять и оцифровать происходящее на игровом поле, будь то реальное поле з зеленой травкой или серый бетон виртуального CS:GO.

Очень важно чтобы данные инцидент произошедший в игре был передан дальше по системе и коэффициенты были пересчитаны быстрее чем потенциальный Беттер поставит очередную ставку на основании новых вводных. Например, забитый гол в лиге чемпионов на 90+ минуте основного времени.

Итак, вернемся к нашим баранам.

Думаю никому не секрет, что в больших компаниях используется практика использования нескольких типов языков программирования.

Там где можно сэкономить — экономят.

Наша компания не исключение. Для обеспечения организационной части бизнеса — СРМ и интерфейсов первичного ввода данных(интерфейс судьи/статиста) мы используем PHP, для того чтобы производить сложные вычисления, используются иные технологии.

Для обмена данными между системами, наиболее принятым способом, является применение очередей.

Читать далее
Всего голосов 18: ↑16 и ↓2 +14
Просмотры 3.7K
Комментарии 10

Удобные компоненты для Битрикса

PHP *1С-Битрикс *

В этой статье речь пойдёт о некотором моём предложении для сообщества. Это вдвойне сомнительное предложение из-за того, что мой личный трип на битриксе уже закончился. Две недели безвылазно на учёбе плюс где-то неделя в ритме "пытаюсь себя заставить" и... И вот статья. Держите. Надеюсь, кому-нибудь пригодится.

Читать далее
Всего голосов 14: ↑9 и ↓5 +4
Просмотры 1.4K
Комментарии 17

Joomla-дайджест за 2-й квартал 2022 года

CMS *Разработка веб-сайтов *Open source *PHP *Joomla *

Что в этом дайджесте? 1 млн уников в сутки на сайте-новостнике на Joomla, немного статистики, маркетинговых исследований, обзоры, электронная коммерция. 46 (+66) расширений Joomla, 8 ресурсов для разработки, Joomla 4 REST API и мобильные приложения, 8 статей и переводов, события из жизни Joomla-сообщества.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 1.4K
Комментарии 7

Встраиваем Lua в PHP через FFI

Блог компании VK Open source *PHP *Системное программирование *Lua *

Foreign Function Interface — это перспективная альтернатива для традиционных PHP-расширений.


Сегодня мы будем разбирать FFI-библиотеку для работы с liblua5 из PHP, которая позволит исполнять скрипты на Lua из нашего приложения.


Читать дальше →
Всего голосов 43: ↑42 и ↓1 +41
Просмотры 3.3K
Комментарии 11

Исповедь ничтожества

PHP *Читальный зал Биографии гиков

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

P.S. Извиняюсь за кликбейтный заголовок, но, мне кажется, он лучше всего описывает содержание этой статьи.

 P.P.S. Очень много текста внутри. 

Читать далее
Всего голосов 271: ↑259 и ↓12 +247
Просмотры 115K
Комментарии 384

Действительно ли генераторы помогают экономить память?

Разработка веб-сайтов *PHP *Программирование *Читальный зал
Перевод


Недавно я обратил внимание на одно заблуждение, связанное с генераторами, а точнее — с тем, как они позволяют экономить память. Такое ощущение, что многие воспринимают генераторы как инструмент, который позволит им получить "большой прирост производительности" из ничего. Или за такую шляпу фокусника, в которую можно засунуть бесконечное количество данных и не тратить память в самом скрипте.


Сначала я удивился — откуда взялись такие идеи? Ведь мы много лет работали с большими объемами данных без всяких генераторов. Лучшая статья про генераторы в РНР, опубликованная ещё десять лет назад, Что генераторы могут для вас сделать Антонио Феррары тоже практически не упоминает экономию памяти. У меня и у самого всегда было чёткое ощущение, что хотя генераторы — это совершенно отличное изобретение, у которого есть множество разнообразных применений, но вот только экономии памяти среди них нет.


В итоге у меня разыгралось любопытство и я решил разобраться с этим вопросом.

Читать дальше →
Всего голосов 26: ↑23 и ↓3 +20
Просмотры 6.3K
Комментарии 11

Простое REST api для сайта на php хостинге

Разработка веб-сайтов *PHP *Программирование *API *
Recovery mode
Из песочницы

Иногда бывает необходимо развернуть не большое рест апи для своего сайта, сделанного по технологии СПА (Vue, React или др.) без использования каких-либо фреймворков, CMS или чего-то подобного, и при этом хочется воспользоваться обычным php хостингом с минимальными усилиями на внедрение и разработку.  При этом там же желательно разместить и сам сайт СПА (в нашем случае на vue).

Использование php позволяет для построения ендпоинтов апи использовать даже статические php файлы, размещаемые просто в папках на хостинге, которые предоставляют результат при непосредственном обращении к ним. И хотя, видимо в своё время, такой подход послужил широкому распространению php мы рассмотрим далее более программистский подход к созданию апи, который очень похож на используемый в библиотеке Node.js Express и поэтому интуитивно понятен, и прост для освоения.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Просмотры 6.3K
Комментарии 22

Аскеза Bitrix

CMS *PHP *Анализ и проектирование систем *Проектирование и рефакторинг *1С-Битрикс *

Я изучаю Битрикс где-то пару недель. Зачем?.. Хотелось чего-то новенького, тут подвернулась учёба. Даром, с наставниками, с возможным трудоустройством дальше хотя бы на пару месяцев - на испытательный срок. Я ничего заранее про Битрикс не знала, ну кроме термина "Битрикс" и факта, что в каждой второй вакансии по Laravel (мой обычный фреймворк) я на хедхантере вижу строчку Б_ЭТОНАМ_ТОЖЕНАДО.

Ниже попробую описать, чем Битрикс труден при выраженном любопытстве. Ну и, опять же, пару опций намечу, как это вот всё лечить. Вдруг разработчики Битрикса статью увидят? Они симфонисты. Правда, они старый код не трогают (это не точно), пишут второе ядро D7. Собственно про D7 наружный лифт на картинке.

Читать далее
Всего голосов 19: ↑10 и ↓9 +1
Просмотры 4.4K
Комментарии 58

Telegram для кодера — быстро ищем, что с кодом

PHP *

Короткая записка о находке для программиста.

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

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

Строка:

file_get_contents('https://api.telegram.org/botXXX_BOTTOKEN_XXX/sendMessage?chat_id=XXX_YOUR_TG_ID_XXX&text=' . urlencode(print_r($some_var, 1) . " - " . __LINE__));

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

Да, есть жуткий баг: не ставьте внутрь цикла :) иначе бесконечная отправка будет, пока процесс не убьете, и не всякий хостер дает доступ к терминалу. В крайнем случае токен новый в Телеграме сгенерируете.

Если пользуетесь Punto Switcher, то можно забиндить вставку строки по двойному нажатию какой-то клавиши и будет еще удобнее.

Читать далее
Всего голосов 24: ↑5 и ↓19 -14
Просмотры 6.8K
Комментарии 59

Обработка окон и вкладок браузера в Selenium PHP

Блог компании RUVDS.com Разработка веб-сайтов *PHP *Тестирование веб-сервисов *
Перевод
Tutorial

Один из распространённых сценариев работы с веб-приложениями заключается в открывании нового окна (или вкладки) браузера после выполнения пользователем определённого действия. Многие веб-разработчики используют HTML-тэг __blank, приказывающий браузеру при нажатии на ссылку открыть новое окно (или вкладку, это зависит от выбранных пользователем настроек). Работа с окнами в Selenium при помощи PHP может использоваться для автоматизации взаимодействия с окнами, вкладками и даже всплывающими окнами браузера.

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

В этой статье мы подробно рассмотрим применение Selenium для автоматизации взаимодействия с браузерами, вкладками и всплывающими окнами. Для демонстрации работы с окнами в Selenium PHP мы воспользуемся PHPUnit — фреймворком юнит-тестирования для PHP.
Читать дальше →
Всего голосов 29: ↑29 и ↓0 +29
Просмотры 3.3K
Комментарии 0

Как происходит рендер пользовательских полей в Joomla?

CMS *Разработка веб-сайтов *Open source *PHP *Joomla *
Перевод
Tutorial

Эта небольшая статья рассказывает о том, как происходит рендеринг пользовательских полей "под капотом" Joomla. Информация будет Вам полезна для создания переопределений и вёрстки своего вывода полей в Ваших новых проектах. А также упростит поиск и поддержку сайтов на Joomla, пришедших от других разработчиков.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 1.4K
Комментарии 0

Прагматичная разработка-3: телеграм-бот

Мессенджеры *PHP *Анализ и проектирование систем *Геоинформационные сервисы *Управление проектами *
Tutorial

Финальная часть разработки простого проекта про specialty-кофейни на Кипре. В первой части я рассказал про API микросервис, во второй - про фронтэнд-сайт и теперь - про телеграм-бота.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры 4.4K
Комментарии 2

Депрекации в грядущем PHP 8.2, о которых вам следует знать

Блог компании OTUS PHP *Программирование *
Перевод

Если вы не читали мою предыдущую статью о нововведениях в php 8.2, вы можете найти ее здесь.

Команда PHP не перестает добавлять новые фичи и исправления с каждым релизом. Но одними фичами и исправлениями дело не обходится. Иногда команде приходится принимать трудное решение отказаться от чего-либо, чтобы стандартизировать язык. Мы называем это депрекацией (deprecation), а про таковые фичи иногда говорим, что они устарели. И PHP 8.2 не станет исключением. В нем есть несколько важных депрекаций.

Читать далее
Всего голосов 15: ↑13 и ↓2 +11
Просмотры 8.1K
Комментарии 51

Прагматичная разработка

PHP *Анализ и проектирование систем *API *Геоинформационные сервисы *Управление проектами *
Tutorial

Недавно выдалось свободное время и я сделал простой проект про specialty-кофейни на Кипре: сайт и телеграм-бот по всем канонам "большой" разработки. Люблю хороший кофе 😊

Делюсь своим процессом разработки и рекомендациями как сделать всё задуманное без потери времени.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 6.4K
Комментарии 3

Вклад авторов

Работа

PHP программист
145 вакансий