Обновить
64K+

PHP *

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

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

ч.16 Сервер для 2D MMO RPG игры (realtime) — MVP готов

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели3.8K

С 2021 года я начал делать свою MMO игру обнаружив что нет готовых сервисов ни в России, ни за рубежом. Но сделать игру я мечтал со времен «Бойцовского клуба» и текстового «Амулета дракона», вдобавок уже был неплохим программистом.

Так и родилась идея написать свое решение Авторитарного сервера для 2D Mmo RPG игр и, как говорил Илон Маск, «Батут работает».

Читать далее

Фреймворк Swoole на PHP для начинающих

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели22K

Swoole — высокопроизводительной асинхронный и многопоточный фреймворк для PHP. Он отличается от традиционной модели PHP-FPM, предлагая асинхронный ввод-вывод и корутины, а также возможность работать с веб-сокетами и различными сетевыми протоколами непосредственно в PHP.

Читать далее

Создаём плагин авторизации в Joomla 5 по e-mail

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели2.1K

Joomla 5 позволяет пользователям входить в систему только под именем пользователя. Однако многие пользователи для удобства предпочитают входить в систему, используя свой адрес электронной почты. В этом уроке мы рассмотрим, как создать плагин для Joomla 5, при помощи которого пользователи смогут входить в систему, используя адрес электронной почты вместо имени пользователя.

Читать далее

PHP: 8 уровней логов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели6K

В реальности, скорее всего, вы будете использовать четыре.

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

Большинство фреймворков и пакетов следуют стандарту PSR-3, который описывает, как работает система ведения логов. Это интерфейс, на который вы должны опираться при отправке логов в систему. В PHP чаще всего используют имплементацию Monolog, как очень гибкий и простой в понимании.

Реализация PSR-3 описывает 8 уровней логов. В порядке убывания «строгости»: Emergency, Alert, Critical, Error, Warning, Notice, Info и Debug. Попытка решить, какой из них выбрать, иногда сбивает с толку. Давайте разберём их на условном приложении.

Читать далее

Орбита: self-hosted блог с подписками

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели6.2K

Привет, Хабр!

Хочу поделиться своим личным проектом (pet-project) для публикации контента с возможностью монетизации. Да-да, что-то вроде личного Boosty, Patreon или даже OnlyFans.

Главное отличие от всех подобных сервисов - он работает у вас на сервере, он Open Source и вы можете менять его по своему желанию.

Читать далее

PHP и Laravel дайджест новостей за апрель 2024 года

Время на прочтение9 мин
Охват и читатели5.7K

Всем привет!

Это PHP Дайджест от CutCode. Давайте посмотрим, что произошло за прошедший месяц в мире PHP.

Читать далее

Meilisearch — организация поиска в связке с Laravel

Уровень сложностиСложный
Время на прочтение8 мин
Охват и читатели14K

Hola, Amigos! Меня зовут Евгений Шмулевский, я backend-разработчик на Laravel в агентстве продуктовой разработки Amiga. В статье описываю организацию поиска через Meilisearch и нюансы использования в связке с Laravel.

Читать далее

Как обойти лимит Telegram API для групп свыше 10,000 участников

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.4K

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

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

Эта инициатива казалась нам многообещающей, однако в процессе реализации мы столкнулись с серьёзным ограничением. При попытке загрузить список пользователей из группы на 13,000 человек, система смогла обработать только 10,000. Это ограничение API Telegram значительно усложнило выполнение задуманного плана, требуя от нас дополнительных технических решений.

Читать далее

PHP/FI 1. Personal Home Page Tools/Forms Interpreter

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели5.9K

История зарождения PHP

История PHP начинается не с полноценного языка программирования, а с набора CGI-скриптов на C, известного как PHP/FI 1. В этой статье мы возвращаемся к истокам PHP, рассматривая его первую версию, её компиляцию и функциональность.

Читать далее

Используем паттерн Decorator в Bitrix

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели3.1K

Применять паттерны программирования — хорошая практика. К сожалению, на проектах CMS Bitrix редко встречаются примеры использования. 

В статье я покажу на примере, как можно использовать паттерн Decorator.

А также рассмотрю этот паттерн в целом: его распространенные реализации в PHP, возможные альтернативы и ситуации, в которых лучше избегать его использования.

Читать далее!

Как мы увеличили интерес к новостям компании и вовлеченность сотрудников

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели3.3K

Всем привет! Мы уже много писали про разработку корпоративного портала НЛМК, которым пользуются больше половины сотрудников нашей большой компании. Сейчас хочу рассказать какие существуют дополнительные инструменты оповещения пользователей, которые мы кастомно настроили на портале, чтобы повысить вовлечение: новостная лента, корпоративное телевидение, онлайн-трансляции, Push уведомления и e-mail рассылка.

Читать далее

Наблюдаем за домом через Telegram

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели37K

или отправляем в Телеграм фото и видео событий с IP видеорегистратора NetSurveillance - очередной Telegram-бот для домашнего видеонаблюдения

Ещё в 2021 году для пассивной охраны загородного дома, я приобрёл и установил китайский IP видеорегистратор (NVR - Network Video Recorder).

Читать далее

Участие в премиях: с чем сталкиваются новички. Основано на опыте моей компании

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели1.4K

В 2024 году мы приняли решение выйти на арену отраслевых премий, связанных с разработкой сайтов. Мы отобрали мероприятия, соответствующие нашей специфике и времени проведения. В период с зимы по весну нам удалось захватить три премии: Workspace, Ruward и Золотой сайт.

Читать далее

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

Самые интересные задачи для безопасников — Джабба одобряет

Время на прочтение5 мин
Охват и читатели8K

Мы решили не один CTF-турнир. За плечами остались KnightCTF, 0xL4ugh и DiceCTF. Найти по-настоящему интересные и сложные задачи все труднее, поэтому будем смотреть в оба глаза и следить за несколькими мероприятиями одновременно.

На этот раз — порешаем задачи сразу двух CTF-турниров: Space Heroes и ThCon 2024. Уже интересно, что подготовили безопасники из США и Франции? Тогда добро пожаловать!
Читать дальше →

Что нового в joomla 5.1?

Время на прочтение8 мин
Охват и читатели5.3K

16 апреля 2024 года вышли релизы Joomla 5.1 и Joomla 4.4.4. Если Joomla 4.x уже находится в режиме поддержки и получает только "заплатки", то в каждом выпуске Joomla 5.x появляется что-то новое. Краткий список был опубликован в недавней новости. Давайте посмотрим подробнее на то что же именно появилось в Joomla 5.1.

Читать далее

PHP и Laravel дайджест новостей за март 2024 года

Время на прочтение6 мин
Охват и читатели5.5K

Всем привет! Краткий обзор новостей из мира PHP и Laravel за март 2024 года от Сергея Пантелеева и Данила Щуцкого (CutCode).

Читать далее

Добавление полей Joomla в результаты Умного Поиска при помощи JFilters

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели996

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

Читать далее

Почему FilamentPHP — это хорошее решение для создания CMS

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели18K

Привет, Хабр! Меня зовут Егор Черненок, я работаю PHP-разработчиком в AGIMA. В этой статье расскажу вам о FilamentPHP. В документации говорится, что это набор красивых Fullstack-компонентов для Laravel. От себя добавлю, что он отлично подходит для построения CMS. А теперь подробно объясню, почему это так.

Читать далее

Настраиваем Windows WSL для локальной разработки Laravel

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели17K

В этой небольшой статье я очень сжато расскажу, как правильно настроить WSL в Windows 11 для локальной разработки Laravel-приложения. Мы собираемся установить php, mysql, nginx и composer, а также отредактировать файл hosts в самом Windows. Заранее прошу не гневаться на меня поклонников Docker, здесь я рассказываю именно про WSL.

Итак, без лишних промедлений, приступим. И начнем с того, что, как мы предполагаем, у нас есть Windows и всё. Если WSL уже установлен, львиную часть статьи можно пропустить.

Убедитесь в том, что ваша версия Windows совместима с WSL.

Читать далее

Разработка автоматизированной очереди для сдачи лабораторных работ

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели3.2K

Учеба в политехе заключается в сдаче лабораторных работ. Буквально. Очень редко бывает такое, что на парах мы чему-то учимся, зачастую все завязано на самообучении. Грубо говоря, вот вам методичка, разбирайтесь сами, через неделю дедлайн.

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

В связи с этим я задумался над созданием автоматизированной очереди. В качестве стека основных технологий выбрал HTML5+CSS3 для фронтенда, PHP для бэкенда. В качестве СУБД был выбран phpMyAdmin (SQL-DB). В первую очередь, конечно, необходимо было продумать структуру базы данных. Предметная область информационной системы уже была сформулирована: "Очередь на сдачу лабораторных работ с возможностью записи по отдельным дисциплинам, удаления своей записи. Учет истории создания записи, удаления записей, включая время записи. Возможность смены пароля, просмотра профиля." Даталогическая модель БД была построена в MySQL Workbench 8.0 CE в нотации IDEF1X.

Читать далее