• Перевод

PHP один из самых широко используемых языков для создания вебсайтов. PHP фреймворки, такие как Zend, CakePHP, CodeIgniter и т.д и open source классы и библиотеки упростили разработку.
Независимо от того, являетесь ли вы опытным разработчиком или новичком, инструменты, которые вы используете, имеют прямое влияние на вашу продуктивность. Здесь собран список действительно полезных утилит и расширений для PHP разработчиков, которые помогут ускорить разработку, и улучшит итоговое качество кода.

Тестирование

PHPUnit
PHPUnit является одним из семейства тестирующий фреймворков xUnit и упрощает написание тестов, так же как и их запуск и анализ результатов.

SimpleTest это аналог JUnit/PHPUnit. Поддерживает mock объекты и может быть использован для автоматизации регрессионного тестирования веб приложений. Это возможно при помощи скриптабельного HTTP клиента, парсящего страницы и симулирующего такие вещи, как переход по ссылкам и отправка форм.
vfsStream
vfsStream это обертка для потоков файловой, полезная при юнит тестировании для создания mock объектов файловой системы. Можно использовать совместно с любым тестирующим фреймворком, например SimpleTest или PHPUnit.

Непрерывная интеграция

phpUnderControl
phpUnderControl это аддон для системы автоматической сборки CruiseControl, который содержит некоторые из лучших средств разработки на PHP. Проект нацелен на то, чтобы первые шаги с PHP и CruiseControl были как можно проще. К phpUnderControl прилагается утилита для модификации существующей развернутой системы CruiseControl.
Xinc
Xinc это сервер непрерывной интеграции написанный на PHP 5. Имеется встроенная поддержка Subversion и Phing (то есть и PHPUnit), и может быть легко модифицирован для поддержки других систем контроля версий и билд систем.

Cheat Sheets

PHP Cheat Sheet от AddedBytes
Одностраничный cheat sheet, перечисляющий аргументы для функций форматирования дат, синтаксис регулярных выражений и распространенные функции.
PHP 5 Online Cheat Sheet
Приведение типов: Boolean, Integer, String, Array, Object/Class; Строки: функции, обработка; Массивы: функции, обработка; Классы: объявление, объявление методов, видимость; Дата/Время: функции, форматы; Предопределённые переменные: $_SERVER, $_FILES

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

Tproger собрал 8 существующих библиотек и инструментов, функциональность которых чаще всего реализуют самостоятельно. Они пригодятся любому веб-разработчику: если не сейчас, то в будущем их знание избавит вас от траты времени на написание своих велосипедов.

Imanee

Пожалуйста, хватит писать свои функции для работы с графикой!

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

Чтобы окончательно убедить вас не писать что-то своё, приведем несколько примеров.

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

Echo Imanee::globAnimate("resources/*.jpg");

То же самое касается и установки на изображение своего копирайта:

$imanee->placeText("imanee test", 40, Imanee::IM_POS_MID_CENTER)->output();

Официальный GitHub репозиторий: Imanee

Сайт с документацией и котиком: Imanee.io

PHP Benchmark

Перестаньте писать свои решения с запоминанием таймстампов в переменные и сравнением, ваши проблемы решает PHP Benchmark - бесплатная библиотека с открытыми исходниками.

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

Подключив PHP Benchmark и прописав в нужных местах следующую строчку:

\PHPBenchmark\Monitor::instance()->snapshot("Plugins loaded");

можно получить детальный отчет по работе приложения.

Вот пример для популярной платформы WordPress:

Подробную документацию, как и исходники, вы можете найти на гитхабе: PHP-Benchmark

RegExp Builder

Являясь бесплатным портом известной JavaScript библиотеки, PHP RegExp Builder позволяет полностью забыть о регулярках, их синтаксисе и искусстве написания. С использованием этого инструмента валидацию, поиск и замену сложных по структуре данных - основные области применения регулярных выражений - стало делать ещё проще.

Пример создания регулярного выражения с RegExp Builder:

$regExp = $builder ->startOfInput() ->exactly(4)->digits() ->then("_") ->exactly(2)->digits() ->then("_") ->min(3)->max(10)->letters() ->then(".") ->anyOf(array("png", "jpg", "gif")) ->endOfInput() ->getRegExp();

Скачать библиотеку можно на GitHub: RegExp Builder

Там же доступна и документация: RegExp Builder Wiki

PHP FaceDetection

Определение лиц на фотографиях не является распространенной задачей, тем не менее, знание о том, что такая библиотека существует, вам пригодится.

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

$face_detect->face_detect("sample-image3.jpg");

Mobile Detect

Mobile Detect - легковесный класс с открытым исходным кодом, предназначенный для определения модели мобильного устройства клиента. Для «детекта» он использует User-Agent в сочетании с HTTP заголовками и свою обширную базу данных - это делает количество ложных срабатываний минимальным.

Даже несмотря на то, что для адаптивного дизайна сегодня используются Media Queries, скрипт всё равно может быть полезен: например, вы можете отдавать мобильным пользователям более легковесные изображения, тем самым ускоряя загрузку сайта.

Простейший пример:

If ($detect->isMobile()) { // пользователь зашел с телефона! }

ABLincoln

ABLinkoln - написанная на PHP реализация фреймворка PlanOut от Facebook, предназначенного для A/B тестов - тестов, использующихся для оценки эффективности веб-страницы и повышения конверсии, или, другими словами, сплит-тестирования.

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

Например, чтобы поставить эксперимент с двумя видами надписи и цвета кнопки, нужно создать вот такой простой класс:

Use \Vimeo\ABLincoln\Experiments\SimpleExperiment; use \Vimeo\ABLincoln\Operators\Random as Random; class MyExperiment extends SimpleExperiment { public function assign($params, $inputs) { $params->button_color = new Random\UniformChoice(["choices" => ["#ff0000", "#00ff00"]], $inputs); $params->button_text = new Random\WeightedChoice([ "choices" => ["Join now!", "Sign up."], "weights" => ], $inputs); } }

Документация, исходники и примеры кода - на GitHub .

phpQuery

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

mPDF

mPDF - одна из лучших библиотек для генерации документов в формате PDF. В отличие от своих конкурентов, mPDF в полной мере поддерживает русский язык, вставку картинок, форматирование и, самое главное, HTML и CSS.

Основанный на открытом движке инструмент очень прост в использовании: на вход вы подаете почти обычную веб-страницу - на выходе получаете полноценный PDF.

$html = "

Пример 1 Пример 2 Пример 3 Пример 4
Пример 5 Пример 6 Пример 7 mPDF
"; // Задаем формат, отступы и т.д $mpdf = new mPDF("utf-8", "A4", "8", "", 10, 10, 7, 7, 10, 10); // Не забываем про русский $mpdf->charset_in = "cp1251"; // Подключаем css $stylesheet = file_get_contents("style.css"); $mpdf->WriteHTML($stylesheet, 1); $mpdf->list_indent_first_level = 0; // Формируем pdf $mpdf->WriteHTML($html, 2); $mpdf->Output("mpdf.pdf", "I"); ?>

Более подробную документацию, пример кода и ссылку на скачивание вы найдете на официальном сайте:

В этом уроке рассмотрим как включить и отключить javascript во всех основных браузерах. Рассмотрим все на примере браузеров Опера, Mozilla Firefox, Яндекс.Браузере и Google Chrome.

Как включить и отключить JavaScript в Браузере Опера

Как включить и отключить JavaScript в браузере Google Chrome

В открытом браузере в правом верхнем углу нажимаем на кнопку в виде трех полос и переходим в "Настройки".

В блоке настроек "Личные данные" нажимаем на кнопку "Настройки контента..."

Откроется всплывающее окно, в котором, как и на примере браузера Опера, необходимо выбрать Разрешить или Запретить выполнение сценариев.

Как включить и отключить JavaScript в Яндекс Браузере

Это будет последний браузер, который мы рассмотрим. С ним все также легко как и с Гугл Хромом. В правом верхнем углу щелкаем по кнопке в виде трех полос и заходим в настройки.

Спускаемся в самый конец страницы и щелкаем по кнопке "Показать дополнительные настройки".

В разделе "Личные данные" нажимаем на кнопку "Настройки содержимого" и во всплывающем окне настраиваем выполнение скриптов. В конце нажимаем кнопку "Готово".

Вот таким образом можно включить или отключить JavaScript во всех основных браузерах.

В этом уроке я покажу вам как можно экспортировать и импортировать закладки в браузере Mozilla Firefox.

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

Большинство веб-страниц представляет собой не просто форматированный текст, в который вставлены изображения. Многие ресурсы оборудованы анимированными картинками, кнопками и проигрывателями видео.

Работа этих элементов обеспечивается специальными программами и модулями, написанными на языке программирования Java. И, хотя обычно они запускаются автоматически, за счёт встроенной в браузер Яндекс технологии Javascript, иногда её требуется включить вручную.

Что такое JavaScript?

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

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

Этапы включения

Для того чтобы включить Javascript следует проделать следующие действия:

  • В появившемся меню выбрать «Настройки»;
  • Прокрутить список настроек до конца и выбрать «Показать дополнительные настройки», после чего откроется ещё несколько пунктов;

  • Найти группу «Личные данные» и открыть расположенный в её верхней части пункт настроек содержимого;

  • Выбрать категорию JavaScript и установить галочку напротив пункта, разрешающего использование технологии на всех сайтах;

  • После нажатия кнопки «Готово» следует закрыть браузер и запустить его снова.

С помощью меню управления расширениями можно разрешить использовать Java только на некоторых сайтах, для чего потребуется включить их в «белый список». Или, наоборот, запретить его на ресурсах, которые кажутся вам подозрительными, добавив их в список исключений.

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

Подключение Java

Если проблемы с отображением сайтов в браузере всё равно остались, не исключено, что неполадки существуют в работе не JavaScript, а всей технологии Java. Для того чтобы её включить требуется:

  • запустить обозреватель;
  • скопировать или ввести в адресную строку browser://plugins/ и выбрать Enter;
  • нажать Enter;
  • в появившемся на экране списке найти Java и выбрать «Включить»;
  • при отсутствии соответствующего пункта установить плагин, зайдя на страницу https://www.java.com/ru/download/, нажать на кнопку «Загрузить бесплатно» и следовать инструкциям Install Wizard.