اولین بار php در سال 1995 ارائه شده و تا به الان مخاطبان خیلی خیلی زیادی داره و همچنین کسانی که با اون کار میکنن هم خیلی زیاد هستند به همین خاطر هر روزه کتابخانه های زیادی برای این زبان دوست داشتنی آماده میشه این حرف رو خیلی راحت میتونید از روی وبسایت Github ببینید و شما دوستان میتونید از این کتابخونه ها در پروژه هاتون خیلی راحت استفاده کنید .
در این پست قصد دارم 20 کتابخانه عالی رو به شما معرفی کنم تا در صورت نیاز اون ها رو در کارهای خودتون مورد استفاده قرار بدید .
Monolog
با استفاده از کتابخانه Monolog میتونید یک سیستم پیشرفته Log برای خودتون ایجاد کنید و از انواع وب سرویس ها ، دیتابیس ها ، فایل ها به سادگی لاگ بگیرید . 50 ابزار و فریمورک مختلف بدلیل ساختار هماهنگ این کتابخانه میتوانند به سادگی از آن در اپلیکیشن های خودشون استفاده کنند .
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
// create a log channel
$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));
// add records to the log
$log->warning('Foo');
$log->error('Bar');
PHPExcel
این کلاس به سادگی به توسعه دهنده ها اجازه میده تا sheet های Excel رو در برنامه خودشون ویرایش کنند . این کتابخانه قادر به خواندن مستندات sheet در فرمت های مختلف از نظیر xls. یا xlsx. و.ods و 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);
PHP-ML
این کتابخانه جالب برای آزمایش با یادگیری ماشین است ، PHP-ML یک Api ساده برای یادگیری و روبات خود و انجام پیش بینی های مبتنی بر داده های ورودی به شما می دهد . این کتابخانه شامل انواع الگوریتم های مختلف برای تشخیص الگو و محاسبات آمار پیچیده است.
use Phpml\Classification\KNearestNeighbors;
$samples = [[1, 3], [1, 4], [2, 4], [3, 1], [4, 1], [4, 2]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];
$classifier = new KNearestNeighbors();
$classifier->train($samples, $labels);
$classifier->predict([3, 2]);
// returns 'b' as the [3, 2] point is closer to the points in group b
Opauth
این کتابخانه به شما اجازه میده تا سیستم های احراز هویت بر اساس شبکه های اجتماعی یا سیستم های دیگر بسازید . شبکه های اجتماعی و سیستم های با نام های بزرگ : گوگل ، فیس بوک ، توئیتر ، گیت هاب ، اینستاگرام ، لینکدین .Opauth فریمورک های زیادی از php رو پشتیبانی میکنه و شما خیلی ساده میتونید از اون در فریمورکهای مختلف استفاده کنید .
'Strategy' => array(
// Define strategies here.
'Facebook' => array(
'app_id' => 'YOUR APP ID',
'app_secret' => 'YOUR APP SECRET'
),
);
Whoops
کتابخانه Whoops یک تجربه عالی برای دیباگ کردن و نمایش ارور ها و جزئیات آن در PHP به شما میدهد . این کتابخانه یک صفحه ارور به شما میدهد که شما میتوانید همه خطاها را با رنگ های مختلف سایزهای مختلف به نسبت نوع کد در آن مشاهده کنید . برای ساخت این کتابخانه از فریمورک لاراول الهام گرفته شده است .
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
// That's it!
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);
}
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();
Munee
Munee دارای تعداد زیادی از ترفندها در استین خود است برای مثال ترکیب چند فایل CSS یا چند فایل جاوا اسکریپت یا تغییر اندازه تصاویر همچنین کوچک سازی فایل ها یا فشرده سازی بر اساس Gzip و کارهای زیاد دیگه که در مستندات آن میتوانید بخوانید ، تمام فرآیندهای که ذکر کردیم هر دو سمت سرور و سمت کلاینت برای عملکرد مطلوب ذخیره سازی میتواند انجام شود .
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>
Twig
این یک کتابخانه و یک موتور قالب ساز است که با استفاده از ان میتوانید کدهای کوتاه تر و با خوانای بالاتری بنویسید . این کتابخانه به شما هر امکان پیشرفته ای که که برای موتور های قالب ساز وجود دارد مثل کار با شروط ، حلفه ، متغیرها و غیره رو به شما پیشنهاد میدهد .
// Template HTML
<p>Welcome {{ name }}!</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 را دریافت کنید و در ان جستجو کنید و المان های مورد نظر خود رو پیدا کنید . این کتابخانه با ارسال یک درخواست و دریافت اطلاعات از ان به شما اجازه میده در ان بخزین و هر نوع اطلاعاتی رو که میخواید دریافت کنید .
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";
});
10 کتابخانه دیگر در پست دوم ارائه میشود . امیدوارم این کتابخانه ها مورد استفاده شما قرار بگیرند .
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید