Как стать автором
Поиск
Написать публикацию
Обновить
112.56

PHP *

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

Сначала показывать
Период
Уровень сложности

Как поднять на VDS свой веб-сервер. Пошаговое руководство для новичков

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров8.3K

Содержание статьи полностью соответствует заголовку: данный материал написан с целью помочь тем, кто никогда еще не устанавливал и не тюнинговал веб-сервер для своего корпоративного сайта или личного блога, передоверяя эту работу техническому специалисту либо используя шаред-хостинг. Автор step-by-step проведет вас через все перипетии данного действа, в результате чего, даже если подобное в новинку, вы без особых проблем (ну, я надеюсь) получите в итоге готовое и безопасное решение.

Читать далее

Топ модулей для распознавания рекапчи на Python, Node js и PHP

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

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

Я проанализировал рынок модулей распознавания капчи и у меня получился свой субъективный топ модулей на трех популярных языках программирования. Давайте разбираться!

Читать далее

FAQ по WooCommerce для разработчиков часть 1

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

Всем привет! В этой статье я решил собрать наиболее часто задаваемые вопросы о работе с WooCommerce для разработчиков. Это первая часть моего FAQ, где рассматриваются ключевые аспекты, которые помогут вам лучше ориентироваться в этом популярном инструменте. Давайте приступим!

Читать далее

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

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

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

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

Читать далее

Все тесты — это юнит тесты :o

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

Немного веселья на серьезную тему правильного нейминга тестов и 100500 их типов и видов.

Обязательно дочитай до конца, иначе пропустишь невероятно мудрый посыл ;)

Читать далее

Чистый код: 10 советов хорошего нейминга

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров747

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

Существует четыре главных фактора, которые отличают хороший код от плохого: читаемость, изменяемость, безопасность и производительность. Первые три — тесно связаны, и главным среди них является именно читаемость.

Ведь читаемость это фундамент, без которого ничего не получится.

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Используем поля Joomla для фильтрации материалов

Время на прочтение3 мин
Количество просмотров927

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

Читать далее

Обзор LiveWire 3 и Volt

Время на прочтение13 мин
Количество просмотров7.6K

Приветствую всех поклонников Laravel!

Эта статья-обзор новой, уже третьей версии Livewire. Решил сделать эту статью после выпуска на youtube-канале видео обзора Livewire, который понравился аудитории. Ну и заодно также взглянем на новинку - Volt. Думаю, многие из вас ждали этот обзор и особенно обзор Volt.

Читать далее

О выборе CMS для сайтовых дел, кратенький обзор Processwire

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6.8K

На днях было появилась нужда - создать сайт новостного типа, и недолго думая приступил к поиску того самого чудо движка (CMS, пардон - за терминологию из 90х) который бы осилил задачу с относительной лёгкостью, но и - как понимаете - был бы достаточно поддерживаем (важно!), стабилен и гибок для других возможных задач (заказов) из будущего.

К авангардной тройке (WP, Joomla, Drupal) не приглянулся по N-ным причинам, но, щас не об этом.

В общем, перебрал всевозможные критерии (внушительный список хотелок :)) - гугл + ИИ в помощь смекалке и, перематывая к результату - остановился на чудо инструменте Processwire (далее PW).

Читать далее ->

1С-Битрикс. Ядро d7 в работе с элементами инфоблоков

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

Как можно получать элементы инфоблоков в 1С-Битрикс в ядре d7?

У \CIBlockElement::getList(), на первый взгляд, есть свои преимущества, она задокументирована, о ней много статей на форумах. Её дебагинг уже разобран подробно за время существования CMS. Замечу, что существует ряд задач, для решения которых она не годится. Эта функция в нынешних реалиях разработки встретится даже начинающему программисту довольно быстро. Но какие есть альтернативы?

Читать далее

Универсальная система управления BuxarUMS. Начало

Время на прочтение3 мин
Количество просмотров1.6K

Здравствуйте, товарищи.

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

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

В итоге с подобным зоопарком что бы справился один движок я не нашел.

Читать далее

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

Создание сервера для онлайн ММО игр на PHP ч. 7 — Игровые локации (тайловые карты)

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

Продолжая рассказывать о своем пути создания ПО для догружаемого контента в играх в этой статье хотел бы остановится на игровых картах (локациях).

Читать далее

XMLDSig: php + openssl

Время на прочтение9 мин
Количество просмотров2.8K

Продолжение поста про интеграцию с ГИС ЖКХ - https://habr.com/en/post/710462/

В этой части разберём как правильно подписать xml-запрос в php при помощи openssl

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

Будем использовать модифицированную версию openssl из первого поста, поэтому он обязателен к прочтению

В основе всего лежит базовый класс Xml, наследуемый от DOMDocument:

Читать далее

API platform по быстрому

Время на прочтение14 мин
Количество просмотров14K

API platform это полнофункциональный REST API, который вы получите за считанные минуты. Вот неполный список фич:

- Генерация CRUD

- Поддержка GraphQL

- Машиночитаемая документация API в форматах Hydra и Swagger/Open API, гененрится из метаданных PHPDoc, Serializer, Validator и Doctrine ORM / MongoDB ODM

- Хорошая удобочитаемая документация, созданная с использованием пользовательского интерфейса Swagger (включая песочницу) и / или ReDoc

- Пагинация

- Куча фильтров

- Проверка с использованием компонента Symfony Validator (с поддержкой групп)

- Расширенные правила аутентификации и авторизации

- Расширенная сериализация благодаря компоненту Symfony Serializer (поддержка групп, встраивание отношений, максимальная глубина...)

- Поддержка JWT и OAuth- Файлы и \DateTime, сериализация и десериализация

- Все полностью настраивается благодаря мощной системе событий и сильному ООП.

Читать далее

О Dependency Injection в Magento 2

Время на прочтение7 мин
Количество просмотров3.7K

В этой статье поговорим об инъекции (внедрении) зависимостей в Magento 2. Как ее использовать и для чего она нужна.

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

В основе этого подхода лежит принцип Dependency Inversion (инверсия зависимостей) из принципов SOLID, который предполагает использование абстракций вместо конкретных классов, где детали реализации должны зависеть от абстракций, а абстракции не должны зависеть от деталей реализации.

Читать далее

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

Время на прочтение5 мин
Количество просмотров4.5K

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

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

Читать далее

Создание сервера для онлайн ММО игр на PHP ч. 3 — WebSocket

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

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

Читать далее