Скрипты

istart-начальная-платформа-для-разработки-на-фреймворке-laravel iStart - начальная платформа для разработки на фреймворке Laravel, которая включает в себя админ панель и фронтэнд тему. Так же вы получаете большое...
utilcarousel-плагин-jquery-карусели UtilCarousel - плагин jQuery адаптивной карусели с поддержкой сенсорного ввода с помощью CSS3 аппаратное ускорение 3D-графики. API-функций для...
okdate-1-9-скрипт-знакомств OKDate - скрипт для создания сайта знакомств с большим количеством необходимых для этого сервиса функций и имеет удобную административную панель для...

Для Photoshop

абстрактные-линии-на-прозрачном-png Этот набор включает 4 изображения потрясающих абстрактных линий с высоким разрешением. Отлично подойдут для web-дизайна, рекламных материалов, открыток,...
celebratum-christmas-photoshop-action Celebratum – праздничный, новогодний экшин для программы Photoshop, создаёт на ваших фотографиях красивый эффект выполненный акварельными красками,...
gif-animated-crack-kit-photoshop-action Gif Animated Crack Kit – экшин для программы Photoshop, создаёт GIF анимацию с эффектом дезинтеграции (Disintegration), то есть распад. Используете...

Обзор интересных PHP библиотек. Выпуск -1

Overview-of-interesting-PHP-libraries.Issue1

Язык программирования PHP выпущен более 20 лет назад, но это не мешает ему по прежнему оставаться одним из самых популярных языков и первым выбором многих back-end разработчиков. Сообщество PHP на GitHub также является одним из самых больших и активных, постоянно появляются новые удивительные проекты. Я подобрал некоторые интересные, на мой взгляд PHP библиотеки с открытым исходным кодом, которые вы можете использовать в своих разработках.

PHPExcel

Набор PHP классов, которые позволяют разработчикам легко реализовать редактирование электронных таблиц в ваших приложениях. Библиотека может читать и писать электронные таблицы в ряд популярных форматов, включая Excel (xls и xlsx), Opendocument (ODT) и CSV.

include 'PHPExcel/IOFactory.php';

$inputFileName = './sampleData/example1.xls';

echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory';
$objPHPExcel = PHPExcel_IOFactory::load($inputFileName);

$sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
var_dump($sheetData);

Opauth

Библиотека позволяет пользователям авторизоваться с помощью своей учетной записи в социальных сетях или других сервисах. Конечно доступны наиболее популярные сети Google, Facebook, Twitter, Github, Instagram, LinkedIn. Opauth поддерживается многими фреймворками, поэтому может быть легко интегрирован в большинство php приложений.

'Strategy' => array(  
    // Define strategies here.

    'Facebook' => array(
        'app_id' => 'YOUR APP ID',
        'app_secret' => 'YOUR APP SECRET'
    ),
);

FastCache

Внедрение этой системы кэширования в PHP приложение гарантированно заставит их работать быстрее, за счёт уменьшения количества запросов к базе данных. Вместо того, чтобы выполнять каждый запрос к БД, FastCache отправляет только уникальные, сохраняет их в кэш и потом берёт их от туда для каждого повторения. Таким образом, если у вас одни запрос повторяется 1000 раз, он будет загружен из БД только один раз, остальные 999 запросов выполнятся из кэша.

use phpFastCache\CacheManager;

$config = array(
    "storage"   =>  "files",
    "path"      =>  "/your_cache_path/dir/",
);
CacheManager::setup($config);

// Try to get from Cache first with an Identity Keyword
$products = CacheManager::get("products");

// If not available get from DB and save in Cache.
if(is_null($products)) {
    $products = "DB SELECT QUERY";
    // Cache your $products for 600 seconds.
    CacheManager::set($cache_keyword, $products,600);
}

Guzzle

Guzzle –это один из лучших http клиентов. Он может обрабатывать почти любые задачи http, которые вы отправляете в него: синхронные и асинхронные запросы, куки http, потоковое видео. Работа с Guzzle очень проста, хорошо написана документация, есть большое количество примеров с подробным объяснением.

$client = new GuzzleHttp\Client();
$res = $client->request('GET', 'https://api.github.com/user', [
    'auth' => ['user', 'pass']
]);
echo $res->getStatusCode();
// "200"
echo $res->getHeader('content-type');
// 'application/json; charset=utf8'
echo $res->getBody();
// {"type":"User"...'

// Send an asynchronous request.
$request = new \GuzzleHttp\Psr7\Request('GET', 'http://httpbin.org');
$promise = $client->sendAsync($request)->then(function ($response) {
    echo 'I completed! ' . $response->getBody();
});
$promise->wait();

Twig

Шаблонизатор с очень чистым синтаксисом, который делает разметку короче и проще в написании. Twig предлагает всё что вы ожидаете от современного библиотеки шаблонов: экранирования переменных, циклы, if/else блоки, а также защищенный режим песочницы для проверка кода шаблона.

/ Template HTML

<p>Welcome !</p>


// Rendering

require_once '/path/to/lib/Twig/Autoloader.php';
Twig_Autoloader::register();

$loader = new Twig_Loader_Filesystem('/path/to/templates');
$twig = new Twig_Environment($loader, array(
    'cache' => '/path/to/compilation_cache',
));

echo $twig->render('index.html', array('name' => 'George'));

Goutte

Goutte – это как называемый веб-скребок, который может сканировать веб-сайты и извлекать HTML и XML данные из них. Он посылает запросы на необходимый URL и возвращает объект Crawler, который позволяет разработчику взаимодействовать с удалённой страницей различными способами.

use Goutte\Client;
$client = new Client();

// Go to the symfony.com website
$crawler = $client->request('GET', 'http://www.symfony.com/blog/');

// Click on the links
$link = $crawler->selectLink('Security Advisories')->link();
$crawler = $client->click($link);

// Extract data
$crawler->filter('h2 > a')->each(function ($node) {
    print $node->text()."\n";
});

PHPMailer

Как же не включить в обзор интересных PHP библиотек PHPMailer. Этот проект поддерживается огромным сообществом и реализуется в популярных системах, таких как WordPress и Drupal, что делает его самым безопасным методом для отправки писем в PHP.

require 'PHPMailerAutoload.php';

$mail = new PHPMailer;

$mail->setFrom('Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.', 'Mailer');
$mail->addAddress('Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.');    

$mail->addAttachment('/var/tmp/file.tar.gz');        
$mail->isHTML(true);                                  

$mail->Subject = 'Here is the subject';
$mail->Body    = 'This is the HTML message body <b>in bold!</b>';

if(!$mail->send()) {
    echo 'Message could not be sent.';
    echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent';
}

Hoa

Hoa – на самом деле не библиотека PHP, а целый набор библиотек, содержащий все виды полезных утили для веб-разработки. Сейчас есть более 50 библиотек и они постоянно пополняются, хотя не все они полностью документированы. Сборка полностью модульная, так что вы можете сами выбрать только необходимые библиотеки.

// Hoa Mail
$message            = new Hoa\Mail\Message();
$message['From']    = 'Gordon Freeman <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>';
$message['To']      = 'Alyx Vance <Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.>';
$message['Subject'] = 'Hoa is awesome!';
$message->addContent(
    new Hoa\Mail\Content\Text('Check this out: http://hoa-project.net/!')
);
$message->send();

// Hoa Session
$user = new Hoa\Session\Session('user');

if ($user->isEmpty()) {
    echo 'first time', "\n";
    $user['foo'] = time();
} else {
    echo 'other times', "\n";
    var_dump($user['foo']);
}

ColorExtractor

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

require 'vendor/autoload.php';

use League\ColorExtractor\Color;
use League\ColorExtractor\Palette;

$palette = Palette::fromFilename('./some/image.png');

$topFive = $palette->getMostUsedColors(5);
$colorCount = count($palette);
$blackCount = $palette->getColorCount(Color::fromHexToInt('#000000'));

Оставьте свой комментарий

Оставить комментарий от имени гостя

0
  • Комментарии не найдены

Векторная графика

абстрактные-геометрические-конструкции-векторные-фоновые-я-изображения Набор из 46 векторных изображений в виде абстрактных геометрических конструкций, отлично подойдут при создании рекламных материалов, фоновых...
плоские-круглые-иконки-векторный-микс Векторный микс плоских векторных иконок в форматах AI, EPS, PNG и PSD. Отлично подойдут при создании одностраничных сайтов, landing page. Формат файлов:...
20-плоских-модерн-круглых-значков Набор из 20 плоских модерн значков в форматах AI, EPS, PNG и PSD. Отлично подойдут при создании одностраничных сайтов, landing page. Формат файлов: AI,...

Растовая графика

атлетика-и-бодибилдинг-–-фото-клипарт Набор из 32 изображений высокого качества на тему атлетики и бодибилдинга. Отлично подойдут для рекламных флаеров, баннеров и слайдеров на сайтах...
интернет-технологии,компьютер,гаджеты-–-фото-клипарт Набор из 25 изображений высокого качества, различные интернет технологии, компьютеры, гаджеты. Отлично подойдет для слайд-шоу. Размер 4800 на 3200 px....
бизнес-леди-–-набор-фото-клипарта Набор из 15 изображений высокого качества с красивой блондинкой, бизнес-леди. Эти изображения отлично подойдут для использования в презентациях,...