Подборка php библиотек


Подборка php библиотек

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

Подборка php библиотек

Вы с легкостью можете найти данные материалы здесь Composer или здесь Github. Мы отобрали подборку из 24 вариантов, о которых нам бы хотелось вам рассказать сегодня. Если у тебя в коллекции есть интересная библиотека, и ты, наш дорогой читатель, хотел бы ею поделиться со своими друзьями, то отписывайся в комментариях.

1. ShellWrap — Стильная Shell-Оболочка

ShellWrap-это библиотека, которая позволяет работать с Linux/Unix утилитами командной строки в PHP через красивую оболочку:

require 'ShellWrap.php';
use \MrRio\ShellWrap as sh;
// Список всех файлов
echo sh::ls();
// Проверка git
sh::git('checkout', 'master');
// Скачайте example.com через cURL, в следующую локацию, и установите
// фильтр для 'html'
echo sh::grep('html', sh::curl('http://example.com', array(
 'location' => true
)));
// Нажмите файл, чтобы его создать
sh::touch('file.html');
// Удаление файла
sh::rm('file.html');
// Удалите файл еще раз
try {
 sh::rm('file.html');
} catch (Exception $e) {
 echo 'Caught failing sh::rm() call';
}

 

2. ColorJizz-PHP — Библиотека для манипуляций с цветом

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

use MischiefCollective\ColorJizz\Formats\Hex;
$red_hex = new Hex(0xFF0000);
$red_cmyk = $hex->toCMYK();
echo $red_cmyk; // 0,1,1,0
echo Hex::fromString('red')->hue(-20)->greyscale(); // 555555

 

3. PHP Geo – Библиотека для геолокации

Phpgeo это достаточно простая библиотека для расчета расстояния между географическими координатами с высокой точностью. К примеру:

use Location\Coordinate;
use Location\Distance\Vincenty;
$coordinate1 = new Coordinate(19.820664, -155.468066);
$coordinate2 = new Coordinate(20.709722, -156.253333);
$calculator = new Vincenty();
$distance = $calculator->getDistance($coordinate1, $coordinate2);

 

Это будет замечательно работать в приложениях, которые используют данные о местоположении.

4. Upload — Обработка загружаемых файлов

Upload — это библиотека, которая упрощает загрузку и проверку файлов. Если форма отправлена, библиотека может проверить тип файла и размер:

$storage = new \Upload\Storage\FileSystem('/path/to/directory');
$file = new \Upload\File('foo', $storage);
// Проверка загрузки
$file->addValidations(array(
// Загрузить только "image/png"
new \Upload\Validation\Mimetype('image/png'),
// Загрузить файл не более 5M (use "B", "K", M", or "G")
new \Upload\Validation\Size('5M')
));
// Попробуйте загрузить файл
try {
// Успешно!
$file->upload();
} catch (\Exception $e) {
// Ошибка!
$errors = $file->getErrors();
}

 

5. Omnipay — Библиотека платежей

Omnipay – это библиотека PHP  для обработки платежей. Она имеет пользовательский интерфейс для встраивания во всевозможные порталы и системы управления контентом.

use Omnipay\CreditCard;
use Omnipay\GatewayFactory;
$gateway = GatewayFactory::create('Stripe');
$gateway->setApiKey('abc123');
$formData = ['number' => '4111111111111111', 'expiryMonth' => 6, 'expiryYear' => 2016];
$response = $gateway->purchase(['amount' => 1000, 'card' => $formData]);
if ($response->isSuccessful()) {
 // выплата была успешной
 print_r($response);
} elseif ($response->isRedirect()) {
 // перенаправить на удаленный шлюз
 $response->redirect();
} else {
 // оплата не удалось
 exit($response->getMessage());
}

 

6. HTMLPurifier — HTML XSS Защита

HTMLPurifier — является библиотекой фильтрующей весь HTML, и защищает ваш код от XSS-атак.

require_once '/path/to/HTMLPurifier.auto.php';
$config = HTMLPurifier_Config::createDefault();
$purifier = new HTMLPurifier($config);
$clean_html = $purifier->purify($dirty_html);

 

7. Gaufrette — Иллюстрация файловой системы

Gaufrette-, библиотека, предоставляющая иллюстрацию файловой системы. Это позволяет работать с локальными файлами, серверами FTP, Amazon S3, и так тому подобных.

use Gaufrette\Filesystem;
use Gaufrette\Adapter\Ftp as FtpAdapter;
use Gaufrette\Adapter\Local as LocalAdapter;
// Локальные файлы:
$adapter = new LocalAdapter('/var/media');
// Можно использовать FTP-адаптер:
// $ftp = new FtpAdapter($path, $host, $username, $password, $port);
// Инициализация файловой системы:
$filesystem = new Filesystem($adapter);
// Использование
$content = $filesystem->read('myFile');
$content = 'Hello I am the new content';
$filesystem->write('myFile', $content);

 

8. Mustache.php — Креативная библиотека шаблонов

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

$m = new Mustache_Engine;
echo $m->render('Hello {{planet}}', array('planet' => 'World!'));

 

9. Faker — Подделка генератора даты

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

// Загружаем файлы
require_once '/path/to/Faker/src/autoload.php';
// Используем Faker\Generator
$faker = Faker\Factory::create();
// Чтение данных
echo $faker->name; // 'Lucy Cechtelar';
echo $faker->address;
 // "426 Jordy Lodge
 // Cartwrightshire, SC 88120-6700"
echo $faker->text;

 

10. Filterus — Библиотека фильтрации

Filterus может проверить не только входные данные по заданному шаблону. Пример:

$f = Filter::factory('string,max:5');
$str = 'This is a test string';
$f->validate($str); // false
$f->filter($str); // 'This '

 

11. Validation – Проверка входных данных

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

use Respect\Validation\Validator as v;
// Обычная проверка
$number = 123;
v::numeric()->validate($number); //true
// Детальная проверка
$usernameValidator = v::alnum()->noWhitespace()->length(1,15);
$usernameValidator->validate('alganet'); //true
// Проверка атрибутов
$user = new stdClass;
$user->name = 'Alexandre';
$user->birthdate = '1987-07-01';
// Построить атрибуты в одну цепочку:
$userValidator = v::attribute('name', v::string()->length(1,32))
 ->attribute('birthdate', v::date()->minimumAge(18));
$userValidator->validate($user); //true

 

12. Ubench — Микро бенчмаркинг библиотека

Ubench микро-библиотека для тестирования вашего PHP-кода.

use Ubench\Ubench;
$bench = new Ubench;
$bench->start();
// Выполняем действие
$bench->end();
// Получить прошедшее время и память
echo $bench->getTime(); // 156ms or 1.123s
echo $bench->getTime(true); // elapsed microtime in float
echo $bench->getTime(false, '%d%s'); // 156ms or 1s
echo $bench->getMemoryPeak(); // 152B or 90.00Kb or 15.23Mb
echo $bench->getMemoryPeak(true); // Пик памяти в байтах
echo $bench->getMemoryPeak(false, '%.3f%s'); // 152B or 90.152Kb or 15.234Mb
// Возвращает память по окончанию работы
echo $bench->getMemoryUsage(); // 152B или 90.00Kb или 15.23Mb

Previous Стилизация выпадающего списка для сайта
Next Подборка php библиотек (Часть №2)

Suggested Posts

WordPress шаблоны бесплатно — подборка за 2017 год

Как установить тему на блог WordPress

23 Бесплатных адаптивных шаблонов для OpenCart

АДАПТИВНЫЕ ВКЛАДКИ — RESPONSIVE TABS

Новые и самые крутые иконки

Карта сайта для WordPress без плагинов — советы, правила, инструкция