Slim Framework یک فریم ورک ساده و قدرتمند

مرداد ۱۱, ۱۳۹۱ توسط : سعید

در دنیای امروزی بیشتر توسعه دهندگان و برنامه نویسان وب و مخصوصا PHP با استفاده از فریم ورک ها مشکلات موجود رو حل میکنن. گاهی این فریم ورکها با کتابخانه های زیادی که داره مثل فریم ورک زند باعث گیجی و ترس کاربر میشه. اما امروز قصد دارم فریم ورکی رو معرفی کنم که در عین سادگی از قدرت بالایی برخورداره.
امکانات Slim Framework

HTTP routing
Named routes
Route passing
Route redirects
Route halting
Middleware & Hooks
Custom views
HTTP caching
Signed cookies
Custom 404 page
Custom 500 page
Error handling
Logging

حجم این فریم ورک هم چیزی حدود ۲۰۰ کیلوباته.

فکر میکنم بهتره با یک مثال ساده نحوه کار این فریم ورک رو نشون بدم. این مثال رو از سایت خود Slim framework برداشتم.

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

http://www.slimframework.com/install

فایل رو اکسترکت و پوشه Slim رو در روت وب سرور قرار بدید.

یک فایل با نام index.php ایجاد کنید.

یک فایل با نام .htaccess ایجاد کنید.

محتویات زیر رو داخل فایل htaccess کپی کنید :

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [QSA,L] 

این دستورات تمام درخواستها رو به فایل index.php ارسال میکنه.

فایل index.php رو باز کنید. اولین کاری که باید انجام بدید include کردن فایل Slim/Slim.php

سپس از کلاس Slim یک شیء ایجاد میکنیم :

$app = new Slim(); 

حالا با استفاده از متدهای get , post , put , delete برای مدیریت درخواست های استفاده میکنیم.

$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
}); 

با استفاده از دستور بالا هنگامی که کاربر آدرس http://localhost/hello/phpro.ir رو وارد کنه این متد اجرا میشه و کلمه Hello phpro.ir رو نمایش میده.

متدهای get , post , delete , put دو آرگومان ورودی میگیرند.

۱- قالب یا شکل آدرس درخواستی (URL)

۲ – نام تابعی که پس از مساوی بودن آدرس درخواستی و ارگومان ورودی اول باید اجرا شه. در مثال بالا ما از توابع بی نام PHP استفاده کردیم که از ورژن ۵٫۳ به بعد قابل استفاده است. در صورتی که ورژن پایینتری استفاده میکنید میتونید نام تابع رو مستقیم بنویسید.

برای استفاده از متدهای دیگه هم به شکل زیر عمل میکنیم :

//POST route
$app->post('/person', function () {
    //Create new Person
});

//PUT route
$app->put('/person/:id', function ($id) {
    //Update Person identified by $id
});

//DELETE route
$app->delete('/person/:id', function ($id) {
    //Delete Person identified by $id
});

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

$app->run() 

در نهایت محتویات فایل index.php به این صورته :

require 'Slim/Slim.php';

//With default settings
$app = new Slim();


//GET route
$app->get('/hello/:name', function ($name) {
    echo "Hello, $name";
});

//POST route
$app->post('/person', function () {
    //Create new Person
});

//PUT route
$app->put('/person/:id', function ($id) {
    //Update Person identified by $id
});

//DELETE route
$app->delete('/person/:id', function ($id) {
    //Delete Person identified by $id
});

$app->run(); 

از مزایای این فریم ورک میشه به سازگاری با موتور قالب twig اشاره کرد. همچنین با کلاسهای Paris و Idiorm برای ارتباط با دیتابیس به خوبی هماهنگ میشه.

هدف اصلی من از معرفی چنین فریم ورکی این بود که با دید بازتری به برنامه نویسی نگاه کنیم و فریم ورک رو فقط معماری سه لایه ندونیم. شاید این فریم ورک هم به نوعی سه لایه تلقی بشه اما شیوه پیاده سازی و سادگی اون واقعا قابل تقدیره.

بازدید : ۲۴۴۴

مهر ۵, ۱۳۹۲ @ ۸:۲۲ ب.ظ

یه افزونه واسه کد های توی سایتت نصب کن

پاسخ دادن
mortaza7khat
اردیبهشت ۱, ۱۳۹۵ @ ۱۲:۵۷ ب.ظ

الان اینجا فرق متد post , get , put , delete چیه؟
فرقشون چیه؟
ایا همون $_GET[] هست و اینا؟

پاسخ دادن
mortaza7khat
اردیبهشت ۲, ۱۳۹۵ @ ۱۱:۴۸ ق.ظ

سلام جناب این کد ها که شما نوشتید منسوخ شده! ودیگه کار نمی کنه!
ورژن جدید slim رو راه بندازید می بینید که هم راه اندازیش فرق کرده هم شیوه کد زدنش!
دیگه باید با کامپوزر راهش انداخت ، حتی اسم کلاس اصلی هم از slim به App تغییر کرده و نام بسیاری از متود ها هم تغییر کرده! جاهای دیگه هم تغییرات بزرگی کرده! که جا داره واقعا یه نگاهی بندازید!

صرفا جهت اطلاع!

پاسخ دادن
    سعید
    اردیبهشت ۲, ۱۳۹۵ @ ۱:۵۶ ب.ظ

    دوست عزیز شما قبل از اینکه بخوای کامنت بذاری یا حرفی بزنی به چندتا نکته توجه کن. ۱ – از ادبیات درست برای گفتن نظرت استفاده کن. ۲ – قبل از اینکه حرفی بزنی در موردش فکر کن (این مورد توی زندگی روزمره ات هم به درد میخوره ) .۳ – قبل از اینکه سوال بپرسی، جستجو کن . ۴ – تاریخ ارسال مطلب رو نگاه کن. ( این مطلب مال ۴ سال پیشه !!!! )
    اگر این موارد رو توی زندگی روزمره رعایت کنی ،باعث نمیشی بقیه برات تاسف بخورن.
    موفق باشی

    پاسخ دادن
      mortaza7khat
      مرداد ۲۳, ۱۳۹۵ @ ۴:۲۲ ب.ظ

      من قصد توهین نداشتم فقط دیدم تاریخ مطلب خیلی قدیمی هست و تغییراتی تو این فریمورک به وجود اومده
      به همین خاطراعلام کردم که آپدیت شده شاید بخواید مطلب رو آپدیت کنید و چند تا تغییراتی که به وجود اومده بود رو هم گفتم
      در ضمن کامنت های من رو تو این پست پاک کن شاید واقعا ادبیاتش بد باشه!
      موفق باشی

      پاسخ دادن

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


*