Рубрика «php» - 127

В этой статье я приведу возможное решение проблемы для многих системных администраторов, которые используют систему мониторинга Zabbix. Особенно пригодится для тех, кто осуществляет мониторинг разных программ в Zabbix: системы телефонии, разные регламентные операции с БД, 1С (да, да, такие вот мы извращенцы люди с нестандартным мышлением, что мониторим 1С в Zabbix). Сам мучался делая Powershell-скрипты, использую для отсылки zabbix_sender.exe. Страшные были времена.
Читать полностью »

Вместо предисловия

Приветствую сообщество!

Моя первая статья Пример реализации обращения к Asterisk CLI на PHP. Структуризация ответа звездочки наконец то перешла из модерации в песочницу и модератор сразу дал мне полные права для публикации на хабре.

Я хочу начать цикл статей о том как можно реализовать собственное API для обращения с Астериском через AMI. Если у Вас имеются время, желание и самое главное опыт, поддержать меня и попытаться составить команду которая на данном портале создаст полноценное php API для взаимодействия с AMI Астериска велком к диалогу.

Задача очень интересная так как многие сервисы посвященные Звездочке сразу прячут всю информацию о попытках разработки собственных интерфейсов для Asterisk. Хотя мой опыт который я здесь изложу может стать для многих «коддеров» попыткой потешить свое «эго», но вариантов создать собственное веб приложение, которое не будет глючить каждую секунду не даст (правда если вы виртуоз языка javascript то очень даже получится какой нибудь грамотный заменитель буржуйской веб-морды для астера).

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

Для особо ленивых в конце статьи готовый (рабочий) модуль с классом Asterisk AMI. С примерами запросов. Класс полностью рабочий и готов к использованию.
Читать полностью »

в 10:57, , рубрики: php, validation, валидация, метки:

Знакомство с Rock Validate - 1Валидация данных является одной из множества практик в разработке безопасного web-приложения. Даже совсем «юный» разработчик при первом своём знакомстве с html-формой пытается вывести красивое сообщение об ошибке. Что уж говорить про модель в каком-нибудь навороченном фреймворке. А потому…

Предлагаю вашему вниманию библиотеку для валидации данных с кастомизацией, интернационализацией и иными «плюшками». Используя известный инструмент Respect/Validation с множеством вбитых по ходу костылей, я в какой-то момент сказал себе: Хватит!

Были поставлены задачи:

  • сохранить элегантный синтаксис (сцепной принцип для правил);
  • реализовать «лёгкую» и гибкую альтернативу;
  • добавить интернационализацию;
  • предоставить возможность добавлять свои правила;
  • подготовить фундамент для санитизатора — обеспечить единый стиль реализации для обеих библиотек.

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

Для разработки надо идти в ногу со временем, и хорошее место узнать что-то новое и получить ценный опыт — концеренции и мастер классы. Я вот решил собрать некоторые значащие конференции и их видеоканалы с выступлениями. Старался не включать мелких конференций, слишком отдалённых от программирования (по PM и маркетингу), или не выкладывающих видео.

К сожалению некоторые конференции

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

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

С видео Без нормального видео

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

Всем привет. Хочу поделиться свеженаписанным генератором HTML таблиц.

Участились случаи сбора различной статистики и компоновки ее в сложные таблицы с различными групировками.

image

Заметив такую тенденцию решил автоматизировать рисование таблиц.

Как итог:

  • Избавил себя от составления слоеных циклов для вывода массива;
  • Получил стандартизацию структуры массивов;

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

PHP-Дайджест № 58 – интересные новости, материалы и инструменты (22 февраля – 16 марта 2015) - 1

Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать полностью »

imageПосле работы на ужасно неуклюжем и неприятном проекте посвященный объявлениям, задался вопросом какие существуют еще решения для такого рода проектов.

Из бесплатных как оказалось их не так уж и много, самым известным является наверное OsClass. Другое дело когда говорим о платных аналогах, тут большое разнообразие движков, функционалов и цен за них. Читать полностью »

Перезапуск демона на PHP без потери соединений к нему - 1 На различных конференциях мы неоднократно рассказывали про наше облако для CLI-скриптов (видеозапись доклада, слайды). Облако предназначено для того, чтобы запускать различные PHP-скрипты по расписанию или через API. Как правило, эти скрипты обрабатывают очереди, и нагрузка «размазывается» приблизительно по 100 серверам. Ранее мы акцентировали внимание на том, как реализована управляющая логика, которая отвечает за равномерное распределение нагрузки по такому количеству серверов и генерацию заданий по расписанию. Но, помимо этого, нам потребовалось написать демон, который был бы способен запускать наши PHP-скрипты в CLI и следить за статусом их исполнения.

Изначально он был написан на Си, как и все остальные демоны в нашей компании. Однако мы столкнулись с тем, что существенная часть процессорного времени (около 10%) тратилась, по сути, впустую: это запуск интерпретатора и загрузка «ядра» нашего фреймворка. Поэтому, чтобы иметь возможность инициализировать интерпретатор и наш фреймворк только один раз, было принято решение переписать демон на PHP. Мы назвали его Phprocksyd (по аналогии с Phproxyd — PHP Proxy Daemon, демоном на Си, который у нас был до этого). Он принимает запросы на запуск отдельных классов и делает fork() на каждый запрос, а также умеет сообщать о статусе исполнения каждого из запусков. Такая архитектура во многом похожа на модель веб-сервера Apache, когда вся инициализация делается один раз в «мастере» и «дети» занимаются уже именно обработкой запроса. В качестве дополнительной «плюшки» мы получаем возможность включить opcode cache в CLI, который будет правильно работать, поскольку все дети наследуют ту же область общей памяти, что и мастер-процесс. Чтобы уменьшить задержки при обработке запроса на запуск, можно делать fork() заранее (prefork-модель), но в нашем случае задержки на fork() составляют около 1 мс, что нас вполне устраивает.
Читать полностью »

Думали ли вы когда-нибудь о том, что однажды слишком быстро втянулись в веб-программирование на PHP? И вот уже прошло много лет, у вас хороший опыт, и вы не думаете ни о каких других способах „делать“ веб, кроме как на PHP. Может быть, у вас возникают сомнения в правильности выбора, однако непонятно, как найти способ быстро его проверить. А хочется примеров, хочется знать, как изменятся конкретные аспекты деятельности.

Сегодня я попробую ответить на вопрос: «А что если вместо PHP писать на Python?».

Сам я долгое время задавался этим вопросом. Я писал на PHP 11 лет и даже являюсь сертифицированным специалистом. Я научился его «готовить» так, чтобы он работал в точности, как мне надо. И когда я в очередной раз читал на Хабре перевод статьи о том, как всё в PHP плохо, я просто недоумевал. Однако подвернулся случай пересесть на Ruby, а потом и на Python. На последнем я и остановился, и теперь попробую рассказать вам PHP-шникам, как нам питонистам живётся.

Если вы решили перейти с PHP на Python, то к чему следует подготовиться - 1
Читать полностью »

Предлагаю читателям «Хабрахабра» перевод публикации «30 Amazing PHP Libraries for Programmers and Developers». Авторы собрали несколько удивительных PHP-библиотек, которые помогут реализовать некоторые классные вещи, не прилагая много усилий. Цель обзора состоит в том, чтобы преподнести что-то новое, поэтому список не включает популярные библиотеки.
Читать полностью »


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