10 کتابخانه پرطرفدار پی اچ پی

گردآوری و تالیف : مجله آموزشی راکت
تاریخ انتشار : 28 فروردین 1398
دسته بندی ها : پی اچ پی

1. Dispatch - Micro Framework

یک کتابخانه ی کوچک برای PHP که همان طور که لقبش پیداست یک فریم ورک ابتدایی برای php ایجاد میکند. با این کتابخانه امکان راه اندازی کامل MVC  وجود ندارد ولی می توان قوانین و روش های URL را برای سازماندهی بهتر درخواست های خود تعریف کنید. کاربرد این کتابخانه  برای سایت های ساده و کار با API ها و نمونه های اولیه است.

// include the library

include 'dispatch.php';



// define your routes

get('/greet', function () {

    // render a view

    render('greet-form');

});



// post handler

post('/greet', function () {

    $name = from($_POST, 'name');

    // render a view while passing some locals

    render('greet-show', array('name' => $name));

});



// serve your site

dispatch();

2. Klein – Lightning fast router for PHP

یکی دیگر از کتابخانه مسیریابی سبک برای   PHP نسخه 5.2 به بالا است. این کتابخانه کمی حرفه ای تر از نسخه Dispatch است،از ویژگی های این کتابخانه میتوان به سریع بودن آن اشاره کرد و این که برای پروژه های کوچک و متوسط بسیار مناسب است .

respond('/[:name]', function ($request) {

    echo 'Hello ' . $request->name;

});

You can also subscribe to specific HTTP methods and use regexes as paths:

respond('GET', '/posts', $callback);

respond('POST', '/posts/create', $callback);

respond('PUT', '/posts/[i:id]', $callback);

respond('DELETE', '/posts/[i:id]', $callback);



// To match multiple request methods:

respond(array('POST','GET'), $route, $callback);



// Or you might want to handle the requests in the same place

respond('/posts/[create|edit:action]?/[i:id]?', function ($request, $response) {

    switch ($request->action) {

        // do something

    }

});

3. Ham - Routing Library with Caching

یک کتابخانه  مسیریابی سبک و سریع است، با این کتابخانه می توانیم برای به دست آوردن ورودی و خروجی های I / O که مربوط به XCache / APC است استفاده نمائیم . کتابخانه  فوق نیاز به نصب XCache یا APC دارد.


require '../ham/ham.php';



$app = new Ham('example');

$app->config_from_file('settings.php');



$app->route('/pork', function($app) {

    return "Delicious pork.";

});



$hello = function($app, $name='world') {

    return $app->render('hello.html', array(

        'name' => $name

    ));

};

$app->route('/hello/', $hello);

$app->route('/', $hello);



$app->run();

4. Assetic - Asset Management

یک کتابخانه مدیریت دارایی برای PHP است . مدیریت دارایی شامل ترکیب CSS / JS و چگونگی استفاده از آن می باشد. ترکیب CSS / JS  می تواند سایت شما را سریعتر کند. نه تنها میزان دانلود کل کاهش می یابد، بلکه بسیاری از درخواست های غیر ضروری HTTP حذف می شوند (دو مورد از مواردی که بیشترین زمان بارگذاری صفحه را تحت تاثیر قرار می دهند فایل های css و js میباشد).

use Assetic\Asset\AssetCollection;

use Assetic\Asset\FileAsset;

use Assetic\Asset\GlobAsset;



$js = new AssetCollection(array(

    new GlobAsset('/path/to/js/*'),

    new FileAsset('/path/to/another.js'),

));



// the code is merged when the asset is dumped

echo $js->dump();

5. ImageWorkshop - Image Manipulation with Layers

ImageWorkshop برای دستکاری تصاویر در PHP طراحی شده است ImageWorkshop یک کتابخانه متن باز است که به شما اجازه می دهد تصاویر را با لایه های آن دستکاری کنید. با این کتابخانه شما می توانید تغییر اندازه، برش، ریز عکسها، اضافه کردن علامت ها و موارد دیگر ویرایش تصویر را انجام دهید.


// We initialize the norway layer from the picture norway.jpg

$norwayLayer = ImageWorkshop::initFromPath('/path/to/images/norway.jpg'); 



// We initialize the watermark layer from the picture watermark.png

$watermarkLayer = ImageWorkshop::initFromPath('/path/to/images/watermark.png'); 



$image = $norwayLayer->getResult(); // This is the generated image ! 



header('Content-type: image/jpeg');

imagejpeg($image, null, 95); // We choose to show a JPG with a quality of 95%

exit;

6. Snappy - Snapshot/PDF Library

یک کتابخانه برای نسخه ی5 PHP به بالا است که به شما امکان می دهد عکس های فوری ، PDFهاو اسناد HTML را به سرعت بسازید.

require_once '/path/to/snappy/src/autoload.php'; 



use Knp\Snappy\Pdf; 



// Initialize the library with the

// path to the wkhtmltopdf binary:

$snappy = new Pdf('/usr/local/bin/wkhtmltopdf'); 



// Display the resulting pdf in the browser

// by setting the Content-type header to pdf: 



header('Content-Type: application/pdf');

header('Content-Disposition: attachment; filename="file.pdf"'); 



echo $snappy->getOutput('http://www.github.com');

7. Idiorm - Lightweight ORM Library

این یک کتابخانه ORM سبک وزن و یک ساختار پرس و جو برای PHP5 به بالا است که در PDO ساخته شده است. با استفاده از این، شما می توانید نوشتن SQL که برای خیلی ها خسته کننده است را فراموش کنید.

$user = ORM::for_table('user')

    ->where_equal('username', 'j4mie')

    ->find_one();



$user->first_name = 'Jamie';

$user->save();



$tweets = ORM::for_table('tweet')

    ->select('tweet.*')

    ->join('user', array(

        'user.id', '=', 'tweet.user_id'

    ))

    ->where_equal('user.username', 'j4mie')

    ->find_many();



foreach ($tweets as $tweet) {

    echo $tweet->text;

}

8. Requests - Easy HTTP Requests

کتابخانه ای است که درخواست های مربوط به HTTP را آسان می کند. با استفاده از این کتابخانه می توانید درخواست های HEAD، GET، POST، PUT، DELETE و PATCH HTTP را ارسال کنید، فایل ها و پارامترها را با استفاده از آرایه های موجود اضافه کنید و تمام داده های پاسخ پروژه ی خود را مشاهده کنید.

$headers = array('Accept' => 'application/json');

$options = array('auth' => array('user', 'pass'));

$request = Requests::get('https://api.github.com/gists', $headers, $options);



var_dump($request->status_code);

// int(200)



var_dump($request->headers['content-type']);

// string(31) "application/json; charset=utf-8"



var_dump($request->body);

// string(26891) "[…]"

9. Buzz - Simple HTTP Request Library

یک کتابخانه پی اچ پی دیگر برای صدور درخواست HTTP است.با این کتابخانه شما میتوانید درخواست های http  را ارسال و پاسخ آن را در لایه های مختلف پروژه ی خود دریافت نمایید.

$request = new Buzz\Message\Request('HEAD', '/', 'http://google.com');

$response = new Buzz\Message\Response();



$client = new Buzz\Client\FileGetContents();

$client->send($request, $response);



echo $request;

echo $response;

10. Goutte - Web Scraping Library

یک کتابخانه برای دریافت داده های وب سایت ها و استخراج اطلاعات از سایت ها است. این کتابخانه یک API خوب است که باعث می شود به راحتی اطلاعات و عناصر سایت ها و پورتال های مختلف را در پروژه ی خود اضفه و از آنها استفاده نمایید.


require_once '/path/to/goutte.phar'; 



use Goutte\Client; 



$client = new Client();

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



// Click on links: 



$link = $crawler->selectLink('Plugins')->link();

$crawler = $client->click($link); 



// Extract data with a CSS-like syntax: 



$t = $crawler->filter('#data')->text(); 



echo "Here is the text: $t";

 در مقالات بعدی تک تک این کتابخانه ها رو بصورت کامل برسی میکنیم 

مقالات پیشنهادی

فریم ورک های پی اچ پی

در دنیای آیتی و آی سی تی با گذر زمان و رشد علم و علوم ارتباطات ،برنامه نویسان و توسعه دهندگان پروژه های گوناگون به مجموعه ای از کتابخانه های گوناگون ک...

فریمورک پی اچ پی phalcon

با بروزرسانی و پیشرفت زبان برنامه نویسی php ، فریم ورک های زیادی منسوخ شدن همچنین خیلی از فریم ورک ها از پایه نوشته شدن تا از مزیت های جدید php عقب نم...

کتابخانه پی اچ پی - CssToInlineStyles

 همان طور که میدانید برای ساخت یک ایمیل در قالب HTML  ،کد‌های CSS باید بصورت inline نوشته شود. CssToInlineStyles این کار را به راحتی برای‌مان انجام خو...

کتابخانه ی Requests for php

یکی دیگر از کتابخانه های php ، Requests است که در این مقاله قصد داریم به معرفی اجمالی و قدرت و توانایی های این کتابخانه در پیشبرد پروژه های php بپرداز...