عنوان مقاله :

کتابخانه ی 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

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

محبوب ترین پلاگین ها و کتابخانه های جی کوئری در بهار 2015 [قسمت اول]

توسعه وب کار سختیه و چیزهای زیادی برای یادگیری وجود داره . برنامه نویس ها و طراحاها نیاز دارن هم روند با بسیاری از فن آوری های در حال ظهور به جلو حرکت...

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

کتابخانه ی Opauth دقیقا همین کار را انجام می دهد. شما با این کتابخانه قادر خواهید بود تا با فراخوانی کلاس ها و توابع آن سیستم احراز هویت کاربران را با...

کتابخانه ی PHPMailer

Php Mailer یک کتابخانه ی متن باز است که برای php ایجاد شده و به برنامه نویس این امکان را میدهد تا در پروژه خود امکان ارسال ایمیل را فراهم سازد.این کتا...

کتابخانه ی پی اچ پی atoum

کتابخانه ی atoum یک چارچوب کلی برای تست واحدهای پروژه ی شما در قالبی ساده، مدرن و بصری برای PHP است. این کتابخانه کاملا مستقل است و جدای پروژه ی شما...

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

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

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

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