عنوان مقاله :

کتابخانه ی Ham

گردآوری و تالیف : محمد صادق زحمتکش
تاریخ انتشار : 08 مرداد 1396
دسته بندی ها : پی اچ پی

کتابخانه ی  Ham یک کتابخانه ی مسیریابی سریع همراه با قابلیت ذخیره سازی و Cache می باشد. کتابخانه ی Ham یک کتابخانه ی سبک است که توابع و کلاس های به کار رفته در آن بهینه شده اند و در سرعت مسیر یابی و نیز کش درخواست های  پروژه تاثیر به سزایی دارد.

یکی از خلاقیت هایی که کتابخانه ی Ham به کار گرفته است استفاده از Cashe جهت ذخیره سازی مسیر های از پیش رفته و درخواست های انجام داده شده می باشد که این عمل در سرعت این کتابخانه نقش بالایی را ایفا میکند.

کتابخانه ی Ham سرعت خود را با ذخیره سازی و cashe هر درخواست I/O که مربوط به XCache/APC می باشد ، بدست می آورد.

توضیح I/O: مخفف کلمه ی input  و output می باشد و نشان دهنده ی ورودی و خروجی پروژه می باشد.

به کد های زیر توجه کنید:


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();

همان طور که گفته شد کتابخانه ی Ham سرعت خود را با ذخیره سازی و cashe هر درخواست I/O که مربوط به XCache/APC می باشد ، بدست می آورد پس واضح است که باید APC و XCache روی سرور نصب باشد در غیر این صورت این کتابخانه کارایی ندارد.

در این کتابخانه مسیرهای درخواستی و ارجاع داده شده به regex و cached تبدیل می شوند بنابراین این فرایند نیازی به انجام هر بار درخواست از سمت سرور ندارد و این موجب افزایش سرعت در پروژه میشود. علاوه بر این، بسیاری از مسیر های ارجاعی به یک URI نیز ذخیره شده است که این امر کاهش درخواست سرور و در نتیجه افزایش سرعت مسیر یابی را شامل می شود.

APC چیست؟ APC که مخفف Alternative PHP Cache می باشد یک ماژول آزاد و Open Source برای کدهای PHP می باشد که هدف اصلی آن cache و optimiz کردن کدهای PHP می باشد.

توجه کنید اگر برای این کتابخانه فقط یک بسته ی کش را میخواهید نصب کنید بسته ی XCashe را نصب کنید زیرا این کتابخانه با این بسته سازگاری کامل را دارد .

مزایای استفاده از کتابخانه ی Ham :

  • تقریبا هر چیز  I / O مرتبط با XCache / APC را مسیر یابی و در حافظه ی تعیین شده ذخیره میکند که این عمل باعث کاهش درخواست های تکراری از سمت سرور می شود.

  • استفاده ی سریع و آسان در پروژه.
  • استفاده از توابع و کلاس های بهینه شده و استفاده ی حداقلی از کدنویسی جهت بالا بردن سرعت اجرا.
  • داشتن اسناد و راهنمای موجود در کتابخانه ، این امکان را به توسعه دهندگان میدهد تا با توجه به نیاز خود کتابخانه ی Ham را گسترش و توسعه دهند.

  • این کتابخانه با فریم ورک های مطرح php   از جمله لاراول و yii  و... سازگاری کامل دارد.

پیش نیاز های کتابخانه ی Ham :

  1. نسخه ی php5.3 به بالا
  2. نصب XCache و APC (در مورد این کتابخانه ترجیها XCache نصب شود ولی برای استفاده های بیشتر از قابلیت cache در پروژه ی خود میتوانید 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();

برای دریافت فایل های کتابخانه Ham میتوانید از لینک زیر دریافت نمایید:

https://codeload.github.com/radiosilence/Ham/zip/master

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

معرفی cms های php - قسمت اول وردپرس

برای پروژه های ایجاد شده با php تعداد زیادی سیستم مدیریت محتوا ایجاد شده است که در این مقاله به معرفی یکی از cms های محبوب php می پردازیم.

کلاس PHP Live Radio Streaming

در این مقاله قصد داریم به معرفی یکی دیگر از  کلاس های حوزه ی  Audioاز مجموعه کلاس های php بپردازیم.با ما همراه باشید . کلاسی که در این مقاله درباره ی...

اصول و الگوریتم های رمزنگاری در php

در دنیا ، اطلاعات و اشیا گرانقدر مهم اند و نیاز به محافظت دارند.برای نگهداری از اشیا و اطلاعات مهم چه میکنید؟قطعا آنها در صندوق های اماناتی که با روش...

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

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

دیدگاه های ارزشمند شما

برای ارسال نظر لازم است ابتدا وارد سایت شوید
شایان رایانه | 3 ماه پیش

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

ایول به راکت و نویسنده هاش