Метка «PHP» - 39

Резонный вопрос: зачем аттачить изображения, ведь это утяжеляет письма и увеличивает трафик? А чтобы не было такого:

image

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

Если приаттачить картинки к письму, то оно обретёт целостный вид, и дырок уже не будет, если не допущено ошибок на этапе вёрстки.
Читать полностью »

Здравствуйте! Недавно на хабре была статья, позволяющая «легко» складывать числа. Рад предложить вам свою новую библиотеку phpSequence, которая позволяет получить число из цифр.

В качестве бонуса появляются константы «ONE», «TWO», «THREE», ..., «NINE», «ZERO», имеющие значения от 1 до 9 и 0 соответственно.

Кому интересно — прошу под кат.Читать полностью »

На ранних стадиях развития интернета, разработчикам приходилось использовать бедные, убогие языки программирования. Приходилось использовать только функции и операторы. Никаких объектов, никаких интерфейсов, никакого dependency injection!

Скажем, чтобы выполнить простую операцию сложения, нашим отцам приходилось писать: 1+1. Да, серьезно.

Но теперь-то у нас есть PHP 5.3 с отличной имплементацией ООП! Представляем библиотеку SimplePHPEasyPlus! SimplePHPEasyPlus позволит вам складывать два числа современным способом, с использованием ООП. Он быстрый, простой, гибкий и оттестированный. Чтобы добавить 1 к 1, нужно всего лишь выполнить следующее:Читать полностью »

С чего все начиналось

Здравствуйте, уважаемыее! Вначале расскажу краткую предысторию этого скрипта. В сети есть браузерная игрушка с чатом, и двумя враждующими мирами. При написании сообщения из одного мира в другой, если вы не находились в специальном месте, текст шифровался, то есть буквы алфавита «перемешивались» — к примеру, буква «о» заменялась на букву «е», буква «з» на букву «в» и так далее. При этом несколько букв могли «превращаться» в одну и ту же, например, буквы «е» и «э» превращались в «а». Из-за этого слово «только» могло превратиться в «сефыче», что абсолютно нечитаемо. А представленные другими людьми переводчики возвращали слова вида: «(б, т, ф)ол(у, ь)(к, р)о», прочесть которые тоже не раз плюнуть. Поэтому я, и еще один товарищ, решили создать скрипт, который неким образом возвращал словам истинное обличье. У нас было несколько идей, в том числе, придумать алгоритм эвристического анализа слова на «русскость» (очевидно, что слишком много согласных никак не могут идти подряд и т.п.). В конце концов была использована весьма интересная библиотека phpMorphy, найденная на просторах всемирной паутины. О работе с ней и пойдет речь в этой статье на примере переводчика из «языка» одного мира в другой.Читать полностью »

Практически все существующие html-шаблонизаторы используют проверенный способ — «директивы в разметке». Это позволяет создать видимость инкапсуляции шаблона и, как будто бы, позволяет достичь разделения логики и отображения. На практике, шаблоны невозможно реализовать без условий, циклов и вызовов функций, а это — зависимость непосредственно разметки от используемого языка и его возможностей. При этом поддержка и изменение шаблона ложится на плечи программиста — ведь верстальщик не должен знать о ядре системы и ее объектах.
Меня давно заинтересовал другой подход к проблеме — он пришел из JavaScript, а если взять глобальнее, то из самой сути HTML.

Итак, в этой статье я расскажу о способе шаблонизации «HTML+Код».

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

Сегодня граппа разработчиков Phalcon выпустило первую бета-версию фреймворка Phalcon 1.0.0. Для тех, кто не в курсе: Phalcon — это PHP-фреймворк, написанный на Си и работающий как расширение для PHP, прочитать про него на Хабре можно в статьях Phalcon — скомпилированный PHP MVC Framework и Phalcon: Давайте учиться на примере.
Цель выпуска этой версии — получение обратной связи от сообщества и обнаружение максимума ошибок.

Первая бета Phalcon 1.0.0

Краткий анонс важных нововведений этой версии:

  1. Многоуровневое кеширование
  2. Улучшения в шаблонизаторе Volt
  3. Горизонтальный и вертикальный шардинг
  4. Запись состояния (Record Snapshots)
  5. Динамическое обновление
  6. Валидация

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

В данной статье речь пойдет о том, как можно ускорить веб приложения, основанные на популярном фреймворке для PHP — Symfony2, за счет ленивого подключения бандлов. Для примера будет использоваться ленивое подключение SonataAdminBundle (ускорение работы сайта составляет около 30%).

Кому интересно — прошу под кат.
Читать полностью »

Доброго времени суток!

Данный пост предназначен для новичков, начинающих разбираться с ООП на php, и старающихся действовать в соответствии с этим стилем.

Речь пойдет о расширении класса SoapClient(). Что это такое, и с чем его едят, вкупе с установкой — описано в этом посте.

Конкретно я задался вопросом работы с soap, когда на работе получил задачу о взаимодействии наших приложений с серверами заказчика. Т.к. большинство логики в наших приложениях написано в процедурном стиле, то и я изначально собирался запихнуть работу с soap в несколько функций. Но когда понял, что получается по меньшей мере — некрасиво, очень громоздко, и довольно-таки неудобно, решил расширить класс SoapClient.
Читать полностью »

Привет. С каждым годом количество фреймворков увеличивается, появляются форки, некоторые становятся модными, а некоторые выходят из моды. Конечно разные фреймворки предоставляют разработчику разные возможности, которые прежде всего зависят от разработчиков, их идей, выбранной архитектуры, наличия документации… и конечно размера фреймворка. Вот об этом параметре мы и поговорим сегодня — всех заинтересованных попрошу под кат.

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

В последнее время на различных ресурсах появляются сообщения о том, что злоумышленники все чаще используют для осуществления DDoS-атак серверные конфигурации. Очевидно, что для использования такой системы необходимо сначала получить к ней доступ. Не так давно я столкнулся с довольно интересным, как мне показалось, образцом PHP Shell'а.
Читать полностью »


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