کتابخانه ی Dispatch
کتابخانه ی Dispatch یک کتابخانه ی کوچک و سبک برای PHP است. این کتابخانه به شما در راه اندازی کامل سایت با مدل MVC کمکی نمیکند اما شما با استفاده از کلاس ها و توابع کتابخانه ی Dispatch می توانید قوانین و روش های مسیر یابی URL ها را بهتر و سریع تر سازماندهی کنید و آن را برای درخواست های خود تعریف کنید. این کتابخانه برای API ها، سایت های ساده یا نمونه های اولیه مناسب است.
شما می توانید نوع خاصی از درخواست ها و مسیرهای HTTP را به وسیله ی این کتابخانه در پروژه ی خود تعریف کنید این کتابخانه است که به شما این اجازه را میدهد تا با استفاده از توابع از پیش نوشته شده از روش های مسیر یابی و آدرس دهی به فایل ها و پرونده ها از آنها استفاده نمایید. اگر شما با فریم ورک ها و کتابخانه های دیگر زبان php آشنا باشید با ترکیب توابع و کلاس های این کتابخانه با آنها می توانید استفاده ی بیشتری از این کتابخانه برده و پروژه های بزرگتری را با آن انجام دهید.
این کتابخانه برای استفاده های ساده و ابتدایی پروژه های php میباشد ولی چون توابع آن بهینه شده است و در سرعت انجام پروژه و بارگذاری آن تاثیر گذار است میتوان آن را در پروژه های بزرگ و پیچیده با ترکیب کردن آن با کتابخانه های حرفه ای مورد استفاده قرار داد.
// 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();
در واقع کتابخانه ی Dispatch یک کتابخانه کوچک برای برنامه های PHP است که میتوان به صورت سریع و آسان پروژه های ساده را با آن به سرانجام رساند ، زیرا بسیاری از توابع اولیه و کلاس های ضروری در آن وجود دارد.و الگو های لازم ارتباط با دیتابیس و سرور در آن گنجانده شده است.
در دستورات زیر نمونه ای از نحوه ی استفاده از کتابخانه ی Dispatch نشان داده شده است:
require 'path/to/dispatch.php';
# sample JSON end point
route('GET', '/books.json', function ($db, $config) {
$list = loadAllBooks($db);
$json = json_encode($list);
return response($json, 200, ['content-type' => 'application/json']);
});
# html end point
route('GET', '/books/:id', function ($args, $db) {
$book = loadBookById($db, $args['id']);
$html = phtml(__DIR__.'/views/book', ['book' => $book]);
return response($html);
});
# respond using a template
route('GET', '/about', page(__DIR__.'/views/about'));
# sample dependencies
$config = require __DIR__.'/config.php';
$db = createDBConnection($config['db']);
# arguments you pass here get forwarded to the route actions
dispatch($db, $config);
به عنوان مثال شما در پروژه هایی که ارتباط با دیتابیس های بزرگ در سطح پیشرفته مانند چت روم،پروتال های کاربر محور،ثبت نام ها و... این کتابخانه قادر به پاسخگویی نیست و لازم است از کتابخانه های پیشرفته تری استفاده کرد.اما اگر پروژه ای در سطح کوچک باشد میتوانید از این کتابخانه به صورت کاملا مستقل استفاده نمایید.
پروژه هایی مانند سایت های شرکتی و خبری ساده و از این دست سایت ها ، با این کتابخانه قابل ایجاد و مدیریت است.
نقاط قوت کتابخانه ی dispatch :
- سبک بودن کتابخانه از نظر حجم توابع و کلاس ها
- استفاده آسان در پروژه ها به دلیل قابل فهم بودن توابع و کلاس ها
- تعریف نوع خاصی از درخواست ها و مسیرهای HTTP
- مناسب برای API ها، سایت های ساده و نمونه های اولیه سایت ها و پروژه ها به دلیل استفاده ی آسان و سریع از کلاس ها و توابع کتابخانه
- سازماندهی بهتر و سریعتر قوانین و روش های ارتباطی URL و تعریف آسان آن برای درخواست های ارسالی
- سازگاری با سایر کتابخانه ها و فریم ورک های php جهت استفاده حرفه ای از کتابخانه
نقاط ضعف کتابخانه ی dispatch :
- عدم پشتیبانی از مدل MVC در ایجاد پروژه ها
- به دلیل سبک و کوچک بودن کتابخانه ، بسیاری از توابع رمز نگاری و امنیتی در این کتابخانه گنجانده نشده است
- به تنهایی قادر به انجام پروژه های بزرگ نمیباشد و از کلاس های پیشرفته برخوردار نیست
الزامات کتابخانه ی Dispatch:
- برای استفاده از این کتابخانه به نسخه ی php5.6+ نیاز دارید.
نکته:این کتابخانه با فریم ورک های مطرح php مانند لاراول وyii سازگاری کامل دارد و شما میتوانید با فراخوانی آن در پروژه های خود علاوه بر توابع و کلاس های فریم ورک از توابع و کلاس های کتابخانه ی Dispatch نیز بهره مند شوید.
برای دریافت فایل های این کتابخانه و فراخوانی آن به پروژه ی خود میتوانید به لینک زیر مراجعه کنید و آنها را دریافت کنید:
https://github.com/noodlehaus/dispatch
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید