یک کتابخانه ی کوچک برای 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";
در مقالات بعدی تک تک این کتابخانه ها رو بصورت کامل برسی میکنیم
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید