Обновить
64K+

PHP *

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

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

Как исправить ошибку 500 в Joomla

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

Как справиться с ошибкой 500 в Joomla. 12 простых шагов.

Это моя первая попытка перевода и публикации статьи на профессиональную тему на этом ресурсе. Но я давно работаю с Joomla, и всеми описанными далее шагами не раз пользовался на личном опыте.

Читать далее

Open-source. Плюсы и минусы на примере MoonShine Laravel

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

В этой статье поделюсь опытом создания и развития open-source проекта MoonShine, которому стукнуло уже 2 года. 🎉
Расскажу как проект развивался, какие были проблемы, и что я предпринимал для их решения.

Читать далее

Повышаем читаемость Symfony DI

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

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

Читать далее

Берём под контроль TODO-шки в коде php

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

Проблема со сложностью управления TODO/FIXME комментариями в коде очень стара. Ей больше 50 лет. Дошло до того, что в некоторых проектах начали запрещать их со словами: “или исправь сразу или не создавай мусор”. Вот о том как можно автоматизировать управление ими и превратить из мусора в полезный инструмент мы и поговорим.

Читать далее

Программное создание материалов с пользовательскими полями в Joomla 5+

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

С помощью материалов Joomla на сайте можно сделать не только контентный сайт-статейник или новостник, но каталог, простую доску объявлений и т.д. Начиная примерно года с 2016 очень много трафика из поисковиков уходит в соц.сети, стриминговые платформы, мессенджеры. Много контента стало создаваться напрямую в интерфейсе, например, Telegram. И в связи с этим встаёт вопрос об автоматическом наполнении сайта контентом из соц.сетей и мессенджеров. Для этого как раз и нужно знать как создавать материалы в Joomla 4 / Joomla 5 и старше программным способом.

Читать далее

Разработчики на PHP умеют писать код, но не всегда знают как устроен web-server

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

Одной из ключевых особенностей PHP является - легкость для разработчика в написании первой программы. Во многих мануалах для старта разработки сокращают информацию о web-сервере до минимума, например, запустите openserver или скопируйте собранный докер образ, где уже будет все настроено и просто перейдите по адресу http://localhost. Все это приводит к сужению знаний общей картины как работает web-приложение, что негативно влияет на репутацию разработчиков на этом языке программирования в целом. В прошлой статье я обещал рассказать о web-серверах для PHP, как раз для того, чтобы расширить кругозор тех людей, кто пропустил эту тему и постараться раскрыть ее максимально простым и понятным языком.

Читать далее

PHP функции и способы их применения

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

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

Читать далее

Я перестал использовать Copilot после 2 месяцев. И вот почему

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

Copilot инструмент автогенерации кода, который наделал много шуму и которым пользуются программисты по всему миру. Я тоже включился в этот хайп, поигрался, попробовал переключить свой флоу работы на него и обломался. Минусы в итоге перевесили плюсы. Сейчас про это расскажу. Ниже описание взаимодействия с автокомплитом copilot. К чату вопросов нет, хорошая и полезная штука, но в статье не про него.

Читать далее

Golang убивает PHP

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

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

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

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

Читать далее

Мы сопоставили языки программирования с специализацией World Of Warcraft

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

Привет, друзья разработчики и геймеры!

Мы с командой разработчиков "*** Telecom" решили весело и с увлечением сопоставить языки программирования с классами из мира World of Warcraft. Почему бы не объединить наше любимое хобби с нашей профессиональной деятельностью? Давайте вместе погрузимся в этот волшебный мир и узнаем, как каждый язык программирования может быть аналогом одного из классов в WoW!

Читать далее

Создание интернет-магазина на компонентах: новый подход для быстрого выхода на рынок екома

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

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

Читать далее

Анонимные и стрелочные функции: как использовать их вместо create_function в PHP 8

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

Привет, Хабр! Меня зовут Виталий Киреев, я руководитель разработки SpaceWeb. В статье расскажу, как мы с командой проводили рефакторинг кода при переходе с PHP 7.4 на PHP 8 и на что заменили одну из самых популярных функций — create_function. 

Статья будет полезна тем, кто только погружается в язык PHP. На примере реальной задачи по рефакторингу подробно разберу, как использовать анонимные и стрелочные функции. И объясню, чем они отличаются.

Читать далее

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

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

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

Читать далее

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

Вышли релизы безопасности Joomla 5.1.2 и Joomla 4.4.6

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

Команда разработки Joomla представила очередные релизы веток Joomla 5.1.2 и 4.4.6. Релизы включают в себя устранение уязвимостей, а также исправление ошибок, найденных с момента предыдущих версий. Итак, давайте изучим, что нового в этих версиях.

Читать далее

PHP 8.4: Новые функции поиска в массиве. Пишем с нуля

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

В PHP 8.4 планируется добавить новые функции массива: array_find, array_find_key, array_any и array_all, которые являются вспомогательными функциями для общих шаблонов проверки массива на наличие элементов, соответствующих определенному условию.

В настоящее время существует несколько функций, обрабатывающих массивы с использованием обратного вызова. Однако по-прежнему отсутствуют функции для поиска отдельного элемента, соответствующего условию, и тесно связанные функции проверки наличия элементов, соответствующих условию. Реализовать эти функции в среде пользователей относительно просто, но они часто требуются, что приводит к тому, что колесо изобретается снова и снова. Кроме того, функции такого типа реализованы и в других языках программирования, таких как Rust, JavaScript или C++. Поэтому есть причина включить эти функции в стандартную комплектацию следующей версии PHP. Кроме того, реализация этих функций очень похожа на array_filter и относительно проста в реализации, поэтому затраты на обслуживание должны быть низкими.

Читать далее

Статистика использования версий PHP: июль 2024 года

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

Каждые шесть месяцев stitcher.io обновляет информацию о том, какие версии PHP используются в сообществе.

Имейте в виду, что берутся открытые данными. Это означает, что эти диаграммы не являются на 100% точным представлением сообщества PHP в целом, но они точно отражают одну из наиболее важных частей PHP: экосистему packagist.

Читать далее

Гайд по деплою web-приложений для новичков. Часть 2. VPS и настройка окружения

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

Это статья - вторая часть небольшого сериала о деплое web-приложений. Написана для новичков, которые учатся разворачивать приложения на сервере и хотят узнать различные варианты, сравнить их и выбрать подходящий.

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

Читать далее

Как создать расширение OpenCart для отправки SMS

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

Представим ситуацию. Где-то на просторах нашей страны есть благородный негоциант XXI века. У него много светлых идей, но мало золотых дублонов в электронном кошельке. Наш предприниматель выбрал для себя один из самых популярных бесплатных движков интернет-магазина в России OpenCart. 

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

Наш герой начинает искать информацию о том, как доработать свой интернет-магазин. Мы с вами не можем оставить человека в беде. Поэтому я написал туториал, как создать собственное расширение для OpenCart 4 и реализовать в нём вызов стороннего API. 

Разберу пример отправки SMS через API МТС Exolve, но в принципе материалы статьи с небольшими доработками подойдут для вызова любого другого REST API.

Читать далее

Использование Laravel драйвера centrifugo для широковещания

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

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

Для того чтобы помочь вам в разработке подобных функций, Laravel упрощает передачу серверных событий через соединение WebSocket. В момент трансляции ваших событий Laravel, вы можете использовать одни и те же имена событий и данные между клиентским JavaScript-приложением и серверным приложением Laravel.

Впервые столкнувшись с необходимостью обеспечить ваше приложение Laravel системой работы и сообщений в реальном времени вы начинаете с документации по широковещанию. Из нее становится ясно, что список указанных в документации драйверов не так уж широк, по умолчанию Laravel содержит два серверных драйвера трансляции на выбор: Pusher Channels и Ably. При этом основные провайдеры платные. Альтернативы есть, но они во многом завязаны на протоколе pusher и\или Laravel Echo. Поиск по другим альтернативам приводит к примерно этому неполному списку:

Читать далее

Magento 2: Visual Search модуль (php + Tensorflow)

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

Всем привет! Давайте знакомиться ;) Я Аня, и я php разработчик. Основной стек - Magento. Очень люблю в свободное время писать всякие интересные штуки, и сегодня я хочу поделиться своей наработкой для реализации поиска по изображению в Magento 2. На мой взгляд - это полезная фича, и довольно удобная для пользователей.

Для нетерпеливых, вот прямая ссылка на github

Читать далее