Метка «PHP» - 7

Предисловие

В прошлом году компания, в которой я работаю, стала активно переходить на IP-телефонию. Для этих целей был использован дистрибутив FreePBX. Опыта работы с телефонией практически не было, поэтому проблем было много. Всего у нас используется 2 сервера FreePBX, примерно по 30 транков на каждом. Некоторые транки ведут себя не очень хорошо и порой теряют регистрацию. Поэтому возникла необходимость мониторить состояние регистрации, чтобы узнавать о неработающей телефонии раньше пользователей.
Для мониторинга IT-инфраструктуры мы уже давно используем Zabbix. Заводить элементы данных на каждый транк (т.е. около 60) — задача нудная, утомительная и неинтересная. Кроме того, надо постоянно следить за списком транков в мониторинге и актуализировать его. Поэтому, решено было использовать одну из самых интересных особенностей этой системы мониторинга — низкоуровневое обнаружение. Итак, что было сделано.
Читать полностью »

Типограф Муравьёва опубликован на GitHub

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

Велком: https://github.com/emuravjev/mdash

Читать полностью »

в 9:14, , рубрики: framework, laravel, php, метки: , , ,

15-16 мая в Нью-Йорке проходит Laracon — конференция по Laravel.

И, конечно же, на ней выступал Тэйлор Отвелл. В начале своего доклада он просто рассказал о планах на будущее в плане разработки фреймворка и про сообщество.

Но основную часть его доклада заняли анонсы его новинок!

Во-первых, он презентовал Homestead — «коробка» для Vagrant, в которую входит всё, что может понадобиться для разработки на Laravel.

А вот второй анонс заслуживает большего внимания! Добро пожаловать под кат!
Читать полностью »

image

Совсем недавно вышла из бета-версии новая система непрерывной интеграции для PHP-проектов с открытым исходным кодом — PHPCI (текущая версия — 1.1.0), она вскользь упоминалась в дайджесте PHP №21.

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

Читать полностью »

Префиксы и постфиксы в PHP (и CSS)

Ещё давно я взял практику использовать префиксы и постфиксы в PHP и в CSS. Особенно это актуально, когда что-то выходит за рамки локальной видимости и находится в глобальном пространстве, взять те же модели в Yii.

Префиксы и постфиксы несут основную задачу – сделать сущность максимально уникальной, причём настолько, чтобы её можно было без проблем найти любым текстовым редактором. На сегодняшний день IDE поддерживают отличную вещь – «Find Usages» (поиск использований), но это не всегда помогает, и об этом я напишу чуть ниже.

Именование в стиле Венгерской нотации мне не пришлось по душе. Такой подход мне не нравился ещё со времён C++ / Delphi – я считал его избыточном и не всегда понятным. Мне понравилась реализация БЭМ, но в полной мере я её тоже не использую. Я постарался вычленить и объединить наиболее понравившиеся мне методы, о них и расскажу.

Читать полностью »

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

(характеристика1 = true AND (характеристика2 < 100)) OR (характеристика1 = false AND (характеристика3 > 17)) ... далее обычно мешанина из ANDOR

Типичный пример подобного функционала — hotline.ua/computer/myshi-klaviatury/

Пример функционала

У нас все реализовано в рамках MySQL + Symfony2/Doctrine, скорость неудовлетворительная — ответы формируются в течении 1-10 секунд. Мои попытки оптимизировать все это хозяйство — под катом.
Читать полностью »

Обнаружена уязвимость функционала «remember me» в Laravel
Некоторое время назад был опубликован пост с подробным описанием уязвимости функционала «remember me» в фреймворке Laravel. Она позволяла имперсонировать любого пользователя путем создания поддельного кука логина. Разработчики тогда сказали что дыру закрыли. Но более подробный взгляд показывает что гидре отрубали лишь одну голову. Даже если вы не используете данный фреймворк вам все равно будет полезно узнать как не надо имплементировать такой функционал у себя на сайте.

Читать полностью »

Меньше недели назад обновился Roadmap разработки любимого многими фрэймворка Yii2.

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

Вот некоторые, самые интересные из них (по сравнению с текущей альфой конечно)
Читать полностью »

Теория

Возможно найдутся много таких как я, фанатов синтаксиса и функций PHP, которым нужно писать, скажем, на JavaScript, а времени изучать функции нету.
Да, мы хорошо знаем основные функции PHP — это и есть наше оружие! А если мы еще и думаем вместо родного языка на PHP — это и есть наш запущенный случай, ради чего я стал наполнять свою библиотеку, которую назвал JSSamePHP (JS как PHP).
Понятным языком — аналоги PHP функций в JavaScript.
Читать полностью »

На хабре уже было несколько статей о трейтах и о том, как их использовать. Но я пока не видел примеров использования с реальными фреймворками, на которых мы пишем каждый день. Я любитель Symfony2 стека и потому именно на нем я покажу, как можно использовать трейты с пользой.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js