یکی از محبوب ترین زبان های برنامه نویسی وب ، زبان برنامه نویسی php هست که به شدت بین برنامه نویس ها محبوب هست. اگر نگاهی به انجمن PHP روی گیتهاب بیندازید، متوجه خواهید شد که روزانه پروژههای بسیار جذابی با استفاده از PHP پیادهسازی میشوند.
کتابخانه های زیادی برای برنامه نویسی php موجود هست اما چند کتابخانه به شدت معروف و پر کاربرد هستند در این مطلب میخواهیم 20 کتابخانه معروف و پر کاربرد php رو معرفی کنیم. که جزو محبوبترین کتابخانههای سال ۲۰۱۶ هستند. این کتابخانههای متن باز کمک خوبی برای پیادهسازی پروژههای PHP خواهد بود.اگر هم دنبال منابع آموزش برنامه نویسی php هستید میتوانید از مطالب آموزشی داخل سایت استفاده کنید مثل آموزش مقدماتی تا متوسطه PHP ، آموزش php از صفر تا صد و دانلود فیلم آموزش برنامه نویسی PHP Essential به زبان اصلی ،البته این سه عنوان که معرفی کردیم فقط سه مطلب بود از آموزش php داخل سایت ، یک مطلب دیگر هم در سایت منتشر کردیم که با استقبال فوق العاده کاربران روبرو بود آن هم آموزش ساخت ربات تلگرام با PHP هست.
بهترین کتابخانه های PHP
کتابخانه پی اچ پی Monolog :
با استفاده از کتابخانهی Monolog میتوانید یک سیستم پیشرفتهی ورود به پنل طراحی کنید که از وب سرویس ها ، دیتابیس ها و فایل ها لاگ میگیرد. این کتابخانه کاربرد های فراوانی دارد و با سه فریمورک Laravel، Symfony2 و Slim نیز سازگار است.
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 :
این کتابخانه مجموعهای از کلاسهای PHP ای است که به توسعهدهندگان اجازه میدهد قابلیت ویرایش صفحه گسترده (spreadsheet) را در برنامههای خود پیادهسازی کنند. PHPExcel از فرمتهای پرکابردی مثل.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 یک کتابخانهی جالب برای پیادهسازی تکنیک یادگیری ماشین است. 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 پشتیبانی میکنند.
'Strategy' => array(
// Define strategies here.
'Facebook' => array(
'app_id' => 'YOUR APP ID',
'app_secret' => 'YOUR APP SECRET'
),
);
کتابخانه پی اچ پی Whoops :
Whoops جزییات دقیق خطاها و اشکالات را به شما نشان خواهد داد. این کتابخانه یک صفحه خطا را نشان میدهد که در آن تمامی اشکالات با رنگ و سایزبندی مختلف مشخص است. فریمورک لاراول از این Whoops پشتیبانی میکند.
$whoops = new \Whoops\Run;
$whoops->pushHandler(new \Whoops\Handler\PrettyPageHandler);
$whoops->register();
// That's it!
کتابخانه پی اچ پی FastCache :
سیستم کش این کتابخانه سرعت بارگذاری سایت را به میزان قابل توجهی افزایش میدهد. 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، آپلود و دانلودهای زیاد و حجیم برمیآید. کار کردن با این کتابخانه بسیار آسان است.
$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 MuneeDispatcher::run(new MuneeRequest());
<!-- 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 :
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";
});
کتابخانه پی اچ پی Climate :
این کتابخانه برای افرادی مناسب است که دستورات PHP را از خط فرمان اجرا میکنند. Climate مجموعه روش هایی را برای برقراری ارتباط با ترمینال ارائه میدهد.
$climate = new League\CLImate\CLImateaker;
// Output
$climate->out('This prints to the terminal.');
// Input
$input = $climate->input('How you doin?');
$response = $input->prompt();
// Formatting
$padding = $climate->padding(10);
$padding->label('Eggs')->result('$1.99');
$padding->label('Oatmeal')->result('$4.99');
// Eggs...... $1.99
// Oatmeal... $4.99
کتابخانه پی اچ پی Alice :
این کتابخانه بر پایه Faker ساخته شده است که اشیای جعلی برای تست تهیه میکند. روش کار به این صورت است که ابتدا باید ساختار اشیای مورد نظر خود را بسازید. سپس با فراخوانی تابع آلیس، این شی جعلی به یک شی واقعی با مقادیر تصادفی تبدیل میشود.
// Template in person.yml file
Person:
person{1..10}:
firstName: '<firstname()>'
lastName: '<lastname()>'
birthDate: '<date()>'
email: '<email()>'
// Load dummy data into an object
$person = \Nelmio\Alice\Fixtures::load('/person.yml', $objectManager);
کتابخانه پی اچ پی Ratchet :
این کتابخانه از PHP برای پشتیبانی از WebSocket ها استفاده میکند. WebSocket یک کانال ارتباطی میان سرور و کلاینت به صورت لحظهای برقرار میکند. برای این منظور Ratchett پردازشهای جداگانهای را ایجاد میکند که همیشه در حال اجراست و پیامها را به صورت ناهمگام ردوبدل میکند.
class MyChat implements MessageComponentInterface {
protected $clients;
public function __construct() {
$this->clients = new \SplObjectStorage;
}
public function onOpen(ConnectionInterface $conn) {
$this->clients->attach($conn);
}
public function onMessage(ConnectionInterface $from, $msg) {
foreach ($this->clients as $client) {
if ($from != $client) {
$client->send($msg);
}
}
}
}
// Run the server application through the WebSocket protocol on port 8080
$app = new Ratchet\App('localhost', 8080);
$app->route('/chat', new MyChat);
$app->run();
کتابخانه پی اچ پی PHPMailer :
این کتابخانه در سیستمهایی مثل وردپرس و دروپال پیادهسازی شده و یکی از امنترین راهکارهای ارسال ایمیل در PHP است. PHPMailer توسط SMTP پشتیبانی میشود و میتوانید ایمیلهای مبتنی بر HTML را با استفاده از آن ارسال کنید.
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 in bold!';
if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
کتابخانه پی اچ پی Hoa :
Hoa یک کتابخانهی واحد نیست. این سیستم مجموعهای از 50 کتابخانهی کاربردی را ارائه میدهد که برای توسعهی وب مفیدند. Hoa کاملا ماژولار است. به این معنی که میتوانید از هر کتابخانهای که مدنظرتان است، بدون هیچ در هم ریختگی استفاده کنید.
// Hoa Mail
$message = new Hoa\Mail\Message();
$message['From'] = 'Gordon Freeman <gordon@freeman.hf>';
$message['To'] = 'Alyx Vance <alyx@vance.hf>';
$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']);
}
کتابخانه پی اچ پی CssToInlineStyles :
برای ساخت یک ایمیل در قالب HTML کدهای CSS باید بصورت inline نوشته شود. CssToInlineStyles این کار را به راحتی برایمان انجام خواهد داد. کافیست تا کد های خود را در یک فایل .css بنویسید تا این کتابخانه با استفاده از انتخابگرها، کدها را به تگهای مناسب خود اختصاص دهد.
use TijsVerkoyen\CssToInlineStyles\CssToInlineStyles;
// create instance
$cssToInlineStyles = new CssToInlineStyles();
$html = file_get_contents(__DIR__ . '/examples/sumo/index.htm');
$css = file_get_contents(__DIR__ . '/examples/sumo/style.css');
// output
echo $cssToInlineStyles->convert(
$html,
$css
);
کتابخانه پی اچ پی Stringy :
برای هرگونه تغییری در رشتهها باید از این کتابخانه استفاده کنید. Stringy متد های مختلفی از جمله( reverse(), htmlEncode(), toAscii() ) را برای اصلاح متن پیشنهاد میدهد.
s('Camel-Case')->camelize(); // 'camelCase'
s(' Ο συγγραφέας ')->collapseWhitespace(); // 'Ο συγγραφέας'
s('foo & bar')->containsAll(['foo', 'bar']); // true
s('str contains foo')->containsAny(['foo', 'bar']); // true
s('fòôbàř')->endsWith('bàř', true); // true
s('fòôbàř')->getEncoding(); // 'UTF-8'
s('&')->htmlDecode(); // '&'
کتابخانه پی اچ پی Robo :
این کتابخانه یک اجرا کنندهی وظیفه(task) میباشد که فقط مختص PHP است. با استفاده از Robo میتوانید یک اتوماسیون برای خود راه بیندازید تا گردش کارتان بهبود یابد. کتابخانهی Robo میتواند تست انجام دهد و به بروزرسانیهای کنترل نسخه رسیدگی کند.
// Doing a Git Commit with Robo
public function pharPublish()
{
$this->pharBuild()->run();
$this->_rename('robo.phar', 'robo-release.phar');
return $this->collectionBuilder()
->taskGitStack()
->checkout('gh-pages')
->taskGitStack()
->add('robo.phar')
->commit('robo.phar published')
->push('origin', 'gh-pages')
->checkout('master')
->run();
}
کتابخانه پی اچ پی PHP Humanizer :
این کتابخانه از متد های مختلفی استفاده کرده و متغیرها را به شکلی خوانا و قابل فهم برای افراد تبدیل میکند. برای مثال میتواند اعداد یونانی را ترجمه کند، رشتههای طولانی را کوتاه کند و یا بایتها را به شکل kB/MB/GB محاسبه کند. این کتابخانه بیشتر از ۱۵ زبان (حتی از نوع گفتاری) را پشتیبانی میکند.
use Coduo\PHPHumanizer\NumberHumanizer;
echo StringHumanizer::humanize('field_name'); // "Field Name"
echo NumberHumanizer::ordinalize(1); // "1st"
echo NumberHumanizer::ordinalize(23); // "23rd"
echo NumberHumanizer::toRoman(5); // "V"
echo NumberHumanizer::fromRoman("MMMCMXCIX"); // 3999
echo NumberHumanizer::binarySuffix(1024); // "1 kB"
echo NumberHumanizer::binarySuffix(1073741824 * 2); // "2 GB"
کتابخانه پی اچ پی ColorExtractor :
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'));
در این پست سعی کردیم بهترین کتابخانه های php رو معرفی کنیم اگر شما هم کتابخانه ای رو میشناسید که به نظرتون مفید و پر کاربرد هستد در بخش نظرات اعلام کنید تا در این مطلب اضافه کنیم.
دیدگاه کاربران
تعداد دیدگاه های کاربران : ۰ دیدگاه