Как стать автором
Обновить
65.18

PHP *

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

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

Вертикальный текст

Время на прочтение3 мин
Количество просмотров3.8K
Потребовалось мне использовать вертикальное расположения текста для обозначения заголовков таблицы. Поиски в интернете привели только к устаревшим или еще не утвержденным стандартам, фильтрам IE и не поддерживающих кириллицу или Mozilla Firefox SVG.
Поэтому пришлось самому решать проблему. Немножко некрасиво получилось, но меня результат устроил.

image
Читать дальше →

Smarty обновился до версии 2.6.22

Время на прочтение1 мин
Количество просмотров695
В связи с некоей ошибкой в библиотеке PCRE из PHP 5.2, скоропостижно (спустя всего 15 дней после выхода 2.6.21, в котором, наконец, сподобились ввести method chaining) зарелизилась версия 2.6.22 шаблонизатора Smarty. Проблемы, возникающие при «some versions of PCRE» (ц), решились гениально и просто — выкидыванием нафиг самого вкусного изменения прошлого релиза :)

Официальный CHANGELOG на офсайте.

Абстракция БД

Время на прочтение4 мин
Количество просмотров5K
Когда я только начинал писать на PHP, ООП я владел, пожалуй, на уровне синтаксиса, не более. В то время мне вполне хватало функций mysql_*. Со временем, опыта становилось больше, я начинал задумываться об оптимизации. Этот топик описывает эволюцию моего кода.
Читать дальше →

PHP пошел по следам Мюнхаузена: 26 октября у него 25 часов в сутках!!!

Время на прочтение1 мин
Количество просмотров945
Наткнулся на досадную ошибку в функциях времени PHP (проверено на версиях 5.1.2 и 4.3.3)
У кого установлены версии поновее — проверьте, пожалуйста. А то ради одной проверки переустанавливать ломы… Под хабракатом код для проверки.
Читать дальше →

Приведение ссылок к абсолютному URI

Время на прочтение1 мин
Количество просмотров5.7K
Забавная функция. Выполняет преобразование относительных uri-адресов в абсолютные.
Может помочь новичкам при организации поиска по сайту.
Хороший пример с location().

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

Код ниже

Top 25 Шаблонных движков

Время на прочтение3 мин
Количество просмотров10K
(по версии WhenPenguinsAttack.Com)

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

Читать дальше →

5 приемов, облегчающих жизнь PHP-чайника

Время на прочтение1 мин
Количество просмотров3.5K
Поскольку я не программист, но иногда немного мучаю Вордпресс, получается, что я программирую. Само собой, путаюсь. Еще приходится читать чужой код и разбираться в нем. И вспоминать, что же я сам там понаписал. Постепенно, изучая чужой код и потирая набитые шишки, пришел к некоторому перечню приемов, облегчающих жизнь PHP-чайника.
Читать дальше →

Загадочный параметр $live_site в configuration.php Joomla. Зачем он нужен?

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

Давным-давно, когда Joomla ещё была маленькой, в неё внедрили параметр $live_site. В ней хранился домен текущего сайта на случай, если Joomla не могла его определить из-за неверной настройки сервера. Нужно это было для разных SEO-компонентов, для использования редиректов и т.д.

Со временем для работы собственно сайта этот параметр перестал быть нужным. Уже в начале 2010-х стали встречаться рекомендации оставлять этот параметр пустым, дабы оный не привёл к лишним проблемам и путанице. Тем более, в web-админке нет места, где его можно указать или посмотреть его значение. Только в configuration.php, а туда смотрят не часто.

Однако, параметр всё же остался в ядре Joomla. Зачем он нужен?

Читать далее

Из боли в удобство: обёртка для расписания пар в колледже (сайт, ВК-бот и SMS)

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

Или как я доставлял расписание студентам в новом формате решая несколько проблем, используя парсинг и PHP 7 в 2017-2021 годах.

Читать далее

Кастомный сервер конвертации файлов для Битрикс24

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

Пару слов обо мне

Меня зовут Дмитрий, я являюсь PHP разработчиком. Работаю с Битрикс24, Laravel и Go.

Проблема Битрикса

Как известно, рекомендуемое окружение для Битрикса – их собственная разработка BitrixVM на базе CentOS. Иногда такое окружение не устраивает заказчиков, поэтому выбирают Docker или сервер с установленным LEMP стеком. 

При переходе на окружение отличное от BitrixVM, существует две основные проблемы – отсутствие сервера очередей Push&Pull и сервера конвертации файлов. 

Читать далее

Клиентский код

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

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

Вот варюсь я в этом айти уже долгое время. Почитываю Хабр, ищу работу, работаю, потом снова ищу работу. Посмотрел разные компании изнутри, крупные и не очень. Сходил за свою жизнь на 25+ собеседований, еще до времен удаленки и на на ней.

Я честно, не знаю как в других профессиях, но в программировании, как мне кажется, собеседования — это чистая лотерея. Мое видение этого возможно подтверждает рынок труда — накрути себе опыта побольше, примени нейросеть, расскажи красиво о себе и вот работа (зарплата) мечты уже твоя. Следствием этого — по 300 отзывов на вакансию. Но, к слову, вакансии эти висят месяцами. Ты просто попадаешь в огромную кучу кандидатов, которых работодатель хочет отсеять и выбрать лучшего из вас. По каким критериям (по всем кроме трудовой книжки) вас будут сортировать одному Нео известно. Так‑же имел личный опыт, когда я отвечал полностью на все вопросы в течение часа. Получив оценку своим знаниям на 5+, заветную работу (зарплату) мечты я так и не получил.

Читать далее

Подключение и Настройка ElasticSearch в Laravel

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

Elasticsearch - это мощный поисковый движок, который позволяет эффективно индексировать и искать данные. В этой статье мы рассмотрим, как интегрировать Elasticsearch в Laravel, используя Docker и PHP-библиотеку elasticsearch/elasticsearch.

Читать далее

Laravel + тестирование: как сэкономить время на валидации запросов

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

При разработке API тестирование валидации входящих данных — рутинная задача. Чтобы упростить этот процесс, я создал пакет laravel-request-testdata, который автоматически генерирует тестовые данные на основе правил валидации Laravel Request.

Читать далее

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

Как я собственный электронный журнал писал

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

Приветствую всех! В данной статье я расскажу про процесс создания собственного школьного электронного журнала...

Читать далее

Триггеры ядра Joomla при CRUD-операциях

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

CRUD - аббревиатура основных операций с данными: создание (Create), чтение (Read), изменение (Update) и удаление (Delete). Практически все действия на сайте как в админке, так и пользовательской части можно описать этими действиями. Разработчикам при создании функционала часто в какие-то моменты этих действий нужно проделать некие действия с участием данных или без них.

Как найти нужное событие для своего плагина в Joomla подскажет эта статья.

Читать далее

[Записки разработчика] airflow->symfony-console->bitrix agents

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

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

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

Агенты

По факту, агенты - это выполнение php команд по-расписанию. Но мы пойдем дальше и выделим их в отдельную сущность, в классы с расширением Agents.php

Создадим интерфейс для агентов

Читать далее

WordPress × Wavesurfer JS

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

WordPress × Wavesurfer JS – наконец-то дошли руки поделиться своим опытом использования wavesurfer.js в связке с сайтом на WordPress.

Читать далее

Flutter Push-уведомления, том числе в Web

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

Добрый день!

Хотел написать статью, обобщающую то, что я нашёл в интернете. Может кому-то она покажется слишком простой, может ненужной, а может наоборот вызовет обсуждение, на что я крайне надеюсь.

В двух словах о чём статья:

С нуля мы создадим flutter-проект с подключением к push-уведомлениям. Будем отправлять уведомления не только на Android, IOS, но и на наш веб-сайт, который может рассылать уведомления в т.ч. на мобильные устройства. Нам потребуется дополнительно лишь небольшой хостинг с mysql БД и php.

Читать далее

Подключение сторонних PHP библиотек в Joomla

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

PHP библиотеки удобны тем, что к ним можно обращаться из любого места Приложения: из плагина, модели компонента, модуля и т.д. В случае, если подобную задачу кто-то уже решал и оформил в виде библиотеки (и даже обновляет её) - имеет смысл подключить в свою Joomla эту библиотеку. Например, вам для разработки способа оплаты интернет-магазина нужна официальная библиотека платёжного агрегатора. Или вас устраивает официальный PHP SDK какой-нибудь CRM.

Читать далее

PHP и работа с базами данных: как выбрать и использовать ORM для максимальной производительности

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

ORM (Object-Relational Mapping, рус. Объектно-реляционное отображение) — это технология, которая связывает базы данных с концепциями объектно-ориентированных языков программирования, создавая «виртуальную объектную базу данных». С помощью ORM упрощается процесс сохранения объектов в реляционной базе данных и их последующего извлечения, так как она автоматизирует преобразования данных между двумя различными форматами.

По своей сути, ORM обеспечивает работу с базой данных на уровне объектов, что подразумевает соответствие структуры и данных в БД объектам кода. В ходе работы с этими объектами происходят изменения как в базе данных, так и в коде. Основные принципы функционирования ORM включают следующие тезисы:

Читать далее