Utili librerie PHP open source

Le migliori librerie PHP che ogni sviluppatore dovrebbe utilizzare

Ad oggi il linguaggio PHP, nato nel lontano 1995, è maggiorenne ed è ancora il linguaggio di programmazione più popolare tra gli sviluppatori. La comunità PHP su GitHub è grandissima e molto attiva con progetti sempre nuovi. Qui di seguito ti propongo le migliori librerie PHP open source che ogni sviluppatore dovrebbe conoscere.

Librerie PHP

PHPExcel

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);

Una fantastica libreria che ci permette di implementare nelle nostre app l’editing di fogli di calcolo. Con questo strumento possiamo leggere molti formati di file tra cui xls, xml, csv, odt e ods.

Opauth

'Strategy' => array( 
// Define strategies here. 
'Facebook' => array( 
'app_id' => 'YOUR APP ID', 
'app_secret' => 'YOUR APP SECRET' 
), 
);

Libreria PHP che consente agli utenti di autentificarsi attraverso i maggiori social networks (Facebook, Twitter, Gplus, GitHub, LinkedIn, Instagram). Molto semplice da integrare nelle tue app PHP.

FastCache

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); 
}

Questa libreria permette di implementare un sistema di caching nelle applicazioni PHP in modo di avere un caricamento più fluido e veloce riducendo la quantità di query al database. Invece di eseguire ogni volta una query, FastCache manda solo quelle uniche salvando le seguenti in cache. In questo modo se hai la stessa query ripetuta più volte, essa sarà caricata solo una volta e le altre saranno dati che arrivano dalla cache. Non sprechi tempo macchina e fluidifichi il lavoro del db.

PHPMailer

require 'PHPMailerAutoload.php'; 
$mail = new PHPMailer; 
$mail->setFrom('from@example.com', 'Mailer'); 
$mail->addAddress('steve@example.com'); 
$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'; }

La più famosa e grande libreria PHP esistente utilizzata anche da Drupal e WordPress. Come è chiaro dal nome serve per inviare messaggi di posta elettronica in PHP con supporto SMTP.

Goutte

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"; 
});

Goutte ti permette di scansionare un sito web estraendo il suo codice HTML o i dati XML. Funziona inviando una richiesta ad una URL e restituisce un oggetto Crawler che consente allo sviluppatore di interagire con la pagina remota in molti modi.

Munee

require 'vendor/autoload.php';
echo \Munee\Dispatcher::run(new \Munee\Request());
<!-- Combining two CSS files into one. -->
<link rel="stylesheet" href="/css/bootstrap.min.css, /css/demo.css">

<!-- Resizing image -->
<img src="/path/to/image.jpg?resize=width[100]height[100]exact[true]">

<!--Files that need preprocessing are compiled automatically-->
<link rel="stylesheet" href="/css/demo.scss">

<!-- Minifying code -->
<script src="/js/script.js?minify=true"></script>

Munee è una libreria poliedrica con molti assi nella manica come combinare più richieste CSS o JavaScript in una unica, ridimensionare le immagini, compilazione automatica di Sass, minimizzare il codice js e la compressione Gzip. Tutte queste funzioni della libreria vengono memorizzate in cache sia lato server che client in modo da ottenere prestazioni ottimali.

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();

Guzzle è uno dei migliori client HTTP esistenti, riesce a gestire tutte le attività HTTP come le richieste asincrone e sincrone, i cookies, lo streaming, il download e l’upload di grandi files. Molto semplice da utilizzare con una documentazione completa e funzionale per ogni developer.

 

Scritto da Magoo

Magoo

Web Developer & Mobile Developer, Game Lover insomma un Nerd.
Co-founder Iwebdesigner.it, Nerdzhouse SRL.
Prendo a schiaffi la tastiera fino a quando non succede qualcosa di buono.

COMMENTA

Loading Disqus Comments ...
Loading Facebook Comments ...

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *