تولید محتوا مبتنی بر اصول سئو و کپی‌رایتینگ

معرفی بهترین کتابخانه های PHP

یکی از محبوب‌‌ترین زبان‌‌های برنامه نویسی وب ، زبان برنامه نویسی php هست که به شدت بین برنامه نویس‌‌ها محبوب هست. اگر نگاهی به انجمن PHP روی گیت‌‌هاب بیندازید، متوجه خواهید شد که روزانه پروژه‌‌های بسیار جذابی با استفاده از PHP پیاده‌‌سازی می‌‌شوند.

کتابخانه‌‌های زیادی برای برنامه نویسی php موجود هست اما چند کتابخانه به شدت معروف و پر کاربرد هستند در این مطلب میخواهیم ۲۰ کتابخانه معروف و پر کاربرد php رو معرفی کنیم که جزو محبوب‌‌ترین کتابخانه‌‌های سال ۲۰۱۶ هستند.

این کتابخانه‌‌های متن باز کمک خوبی برای پیاده‌‌سازی پروژه‌‌های PHP خواهد بود.اگر هم دنبال منابع یادگیری برنامه نویسی php هستید میتوانید از مطالب آموزشی داخل سایت لمفا استفاده نمایید.

مثل یادگیری مقدماتی تا متوسطه PHP ، یادگیری php از صفر تا صد و دانلود فیلم یادگیری برنامه نویسی PHP Essential به زبان اصلی ،البته این سه عنوان که معرفی کردیم فقط سه مطلب بود از یادگیری php داخل سایت ، یک مطلب دیگر هم در سایت منتشر کردیم که با استقبال فوق العاده کاربران روبرو بود آن هم یادگیری ساخت ربات تلگرام با PHP هست.

 

بهترین کتابخانه‌‌های PHP

کتابخانه پی اچ پی Monolog :

با استفاده از کتابخانه‌‌ی Monolog می‌‌توانید یک سیستم پیشرفته‌‌ی ورود به پنل  طراحی نمایید که از وب سرویس‌‌ها ، پایگاه داده‌‌ها و فایل‌‌ها لاگ می‌‌گیرد. این کتابخانه کاربرد‌‌های فراوانی دارد و با سه فریمورک Laravel، Symfony2 و Slim نیز سازگار است.

use MonologLogger;
use MonologHandlerStreamHandler;


$log = new Logger('name');
$log->pushHandler(new StreamHandler('path/to/your.log', Logger::WARNING));


$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 PhpmlClassificationKNearestNeighbors;

$samples = [[۱, ۳], [۱, ۴], [۲, ۴], [۳, ۱], [۴, ۱], [۴, ۲]];
$labels = ['a', 'a', 'a', 'b', 'b', 'b'];

$classifier = new KNearestNeighbors();
$classifier->train($samples, $labels);

$classifier->predict([۳, ۲]);

کتابخانه پی اچ پی Opauth :

این کتابخانه‌‌ی کاربردی به کاربران اجازه می‌‌دهد تا از راه شبکه‌‌های اجتماعی مثل گوگل‌‌پلاس، فیس بوک، توییتر، گیت‌‌هاب، اینستاگرم و لینکدین هویت خود را تایید کنند. فریمورک‌‌های زیادی از Opauth پشتیبانی می‌‌کنند.

'Strategy' => array(  
    

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

کتابخانه پی اچ پی Whoops :

Whoops جزییات دقیق خطاها و اشکالات را به شما نشان خواهد داد. این کتابخانه یک صفحه خطا را نشان می‌‌دهد که در آن تمامی اشکالات با رنگ و سایزبندی مختلف مشخص است.  فریمورک لاراول از این Whoops پشتیبانی می‌‌کند.

$whoops = new WhoopsRun;
$whoops->pushHandler(new WhoopsHandlerPrettyPageHandler);
$whoops->register();

کتابخانه پی اچ پی FastCache :

سیستم کش این کتابخانه سرعت بارگذاری سایت را به میزان قابل توجهی افزایش می‌‌دهد. FastCache به جای فرستادن هر کوئری به پایگاه داده، مورادی را ارسال می‌‌کند که خاص و منحصر بفرد است.

به این معنا که اگر یک جست و جوی مشابه را ۱۰۰۰ بار انجام داده باشید، تنها یک بار از پایگاه داده استفاده می‌‌شود. بقیه‌‌ی ۹۹۹ بار از کشِ سیستم بارگذاری می‌‌شود.

use phpFastCacheCacheManager;

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


$products = CacheManager::get("products");


if(is_null($products)) {
    $products = "DB SELECT QUERY";
    
    CacheManager::set($cache_keyword, $products,۶۰۰);
}

کتابخانه پی اچ پی Guzzle :

Guzzle یکی از بهترین کتابخانه‌‌هایی است که برای  کار با HTTP وجود دارد. این کتابخانه از عهده‌‌ی انجام هر کاری در مورد HTTP از جمله درخواست‌‌های همزمان و غیر همزمان، کوکی‌‌های HTTP، آپلود و دانلود‌‌های زیاد و حجیم برمی‌‌آید. کار کردن با این کتابخانه بسیار آسان است.

$client = new GuzzleHttpClient();
$res = $client->request('GET', 'https://api.github.com/user', [
    'auth' => ['user', 'pass']
]);
echo $res->getStatusCode();

echo $res->getHeader('content-type');

echo $res->getBody();



$request = new GuzzleHttpPsr7Request('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());

link rel="stylesheet" href="/css/bootstrap.min.css, /css/demo.css">


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


link rel="stylesheet" href="/css/demo.scss">


script src="/js/script.js?minify=true">script>

کتابخانه پی اچ پی Twig :

Twig یک موتور قالب ساز است که با استفاده از آن می‌‌توانید کد‌‌های کوتاه‌‌تر و خواناتری بنویسید. این کتابخانه هر امکان پیشرفته ای که از یک موتور قالب ساز انتظار دارید، مانند مثل کار با حلقه‌‌ها، متغیرها و شروط،  به شما می‌‌دهد.

// Template HTML
p>Welcome {{ name }}!p>


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 GoutteClient;
$client = new Client();


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


$link = $crawler->selectLink('Security Advisories')->link();
$crawler = $client->click($link);


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

کتابخانه پی اچ پی Climate :

این کتابخانه برای افرادی مناسب است که دستورات PHP را از خط فرمان اجرا می‌‌کنند. Climate مجموعه روش‌‌هایی را برای برقراری ارتباط با ترمینال ارائه می‌‌دهد.

$climate = new LeagueCLImateCLImateaker;


$climate->out('This prints to the terminal.');


$input = $climate->input('How you doin?');
$response = $input->prompt();


$padding = $climate->padding(۱۰);

$padding->label('Eggs')->result('$۱.۹۹');
$padding->label('Oatmeal')->result('$۴.۹۹');


کتابخانه پی اچ پی Alice :

این کتابخانه‌‌ بر پایه Faker ساخته شده است که اشیای جعلی برای تست تهیه می‌‌کند. روش کار به این صورت است که  ابتدا باید ساختار اشیای مورد نظر خود را بسازید.

سپس با فراخوانی تابع آلیس، این شی جعلی به یک شی‌‌ واقعی با مقادیر تصادفی تبدیل می‌‌شود.


Person:
    person{۱..۱۰}:
        firstName: ''
        lastName: ''
        birthDate: ''
        email: ''



$person = NelmioAliceFixtures::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);
            }
        }
    }
}


$app = new RatchetApp('localhost', ۸۰۸۰);
$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 یک کتابخانه‌‌ی واحد نیست. این سیستم مجموعه‌‌ای از ۵۰ کتابخانه‌‌ی کاربردی را ارائه می‌‌دهد که برای توسعه‌‌ی وب مفیدند. Hoa کاملا ماژولار است. به این معنی که می‌‌توانید از هر کتابخانه‌‌ای که مدنظرتان است، بدون هیچ در هم ریختگی استفاده کنید.


$message            = new HoaMailMessage();
$message['From']    = 'Gordon Freeman ';
$message['To']      = 'Alyx Vance ';
$message['Subject'] = 'Hoa is awesome!';
$message->addContent(
    new HoaMailContentText('Check this out: http://hoa-project.net/!')
);
$message->send();


$user = new HoaSessionSession('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 TijsVerkoyenCssToInlineStylesCssToInlineStyles;


$cssToInlineStyles = new CssToInlineStyles();

$html = file_get_contents(__DIR__ . '/examples/sumo/index.htm');
$css = file_get_contents(__DIR__ . '/examples/sumo/style.css');


echo $cssToInlineStyles->convert(
    $html,
    $css
);

کتابخانه پی اچ پی Stringy :

برای هرگونه تغییری در رشته‌‌ها باید از این کتابخانه استفاده کنید. Stringy متد‌‌های مختلفی از جمله( reverse(), htmlEncode(), toAscii()  )  را برای اصلاح متن پیشنهاد می‌‌دهد.

s('Camel-Case')->camelize(); 
s('   Ο     συγγραφέας  ')->collapseWhitespace(); 
s('foo & bar')->containsAll(['foo', 'bar']); 
s('str contains foo')->containsAny(['foo', 'bar']); 
s('fòôbàř')->endsWith('bàř', true); 
s('fòôbàř')->getEncoding(); 
s('&')->htmlDecode(); 

کتابخانه پی اچ پی Robo :

این کتابخانه یک اجرا کننده‌‌ی وظیفه(task) می‌‌باشد که فقط مختص PHP  است. با استفاده از Robo می‌‌توانید یک اتوماسیون برای خود راه بیندازید تا گردش کارتان توسعه یابد. کتابخانه‌‌ی 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 CoduoPHPHumanizerNumberHumanizer;

echo StringHumanizer::humanize('field_name'); 

echo NumberHumanizer::ordinalize(۱); 
echo NumberHumanizer::ordinalize(۲۳); 

echo NumberHumanizer::toRoman(۵); 
echo NumberHumanizer::fromRoman("MMMCMXCIX"); 

echo NumberHumanizer::binarySuffix(۱۰۲۴); 
echo NumberHumanizer::binarySuffix(۱۰۷۳۷۴۱۸۲۴ * ۲); 

کتابخانه پی اچ پی ColorExtractor :

ColorExtractor کتابخانه‌‌ی سودمندی  است که برای استخراج رنگ از تصاویر استفاده می‌‌شود. این کتابخانه تمامی پیکسل‌‌های تصویر را بررسی کرده و یک پالت رنگی به ما بر می‌‌گرداند.

توسعه دهندگان از این پالت رنگی برای تشخیص رنگ قالب استفاده می‌‌کنند و طراحی خود را با آن انطباق می‌‌دهند.


require 'vendor/autoload.php';

use LeagueColorExtractorColor;
use LeagueColorExtractorPalette;

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

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

در این پست سعی کردیم بهترین کتابخانه‌‌های php رو معرفی کنیم اگر شما هم کتابخانه ای رو میشناسید که به نظرتون مفید و پر کاربرد هستد در بخش نظرات اعلام نمایید تا در این مطلب اضافه کنیم.

برای دریافت جدیدترین به روز رسانی ها در موبایل خود مشترک ما شوید

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.