Kaptain Kitty
انتشار :۳ بهمن ۱۳۹۳
بازدید :618 بار

در قسمت های گذشته مطالبی در مورد امکانات فوق العاده ی فریم ورک لاراول مشاهده و مطالعه کردید. در این قسمت هم میخواهیم به تعدادی دیگر از امکانات مورد نظر در فریم ورک لاراول بپردازیم و شما را با بخشی دیگر از این فریم ورک فوق العاده عالی آشنا کنیم.

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

Resource

کار کردن با REST در فریم ورک Laravel تا به حال از این ساده تر نبوده است. برای ثبت کنترلری که دارای resource می باشد خیلی ساده ()Route::resource را فراخوانی کنید، مانند زیر:

[codesyntax lang=”php”]

Route::resource('orders', 'OrdersController');

[/codesyntax]

فریم ورک Laravel با این کد هشت route را ثبت می کند:

  • GET /orders
  • GET /orders/:order
  • GET /orders/create
  • GET /orders/:order/edit
  • POST /orders
  • PUT /orders/:order
  • PATCH /orders/:order
  • DELETE /orders/:order

علاوه بر این، یک کنترلر کمکی نیز می تواند از طریق خط فرمان زیر ایجاد شود:

[codesyntax lang=”php”]

php artisan controller:make OrdersController

[/codesyntax]

در داخل این کنترلر ایجاد شده، هر Methode متعلق به یکی از rout های بالا می باشد. برای مثال، /orders به متد index تعلق دارد، /orders/create به  create مرتبط می شود.

حال قدرت لازم را برای ایجاد اپلیکیشن ها و API های REST داریم.

Blade Template

اگرچه که ماهیت اصلی php یک زبان تمپلیتینگ است اما هنوز هم خود را تا حدی که یک زبان تمپلیتینگ خوب محسوب بشود ارتقا نداده است. اگرچه باز هم می توان با آن کار کرد اما فریم ورک Laravel موتور Blade خود را برای پر کردن این شکاف ارائه داده است. شما می توانید به راحتی view ها خود را با استفاده از اکستنشن  .blade.php نام گذاری کرده تا آنها به صورت خودکار تجزیه شوند. حال می توانیم کارهایی مانند مثل زیر انجام دهیم:

[codesyntax lang=”php”]

@if ($orders->count())
    <ul>
        @foreach($orders as $order)
            <li>{{ $order->title }}</li>
        @endforeach
    </ul>
@endif

[/codesyntax]

امکانات Test

به دلیل این که فریم ورک Laravel از Composer استفاده می کند، پس ما پشتیبانی PHPUnit را در فریم ورک خواهیم داشت. فریم ورک را نصب کرده و phpunit را از خط فرمان اجرا کنید تا بتوانید آن را تست کنید.

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

می خواهیم تست کنیم که آیا home page کد استاتوس ۲۰۰ را بازمی گرداند یا خیر.

[codesyntax lang=”php”]

public function test_home_page()
{
    $this->call('GET', '/');
    $this->assertResponseOk();
}

[/codesyntax]

یا شاید بخواهیم تایید کنیم که آیا وقتی فرم تماس برایمان پر و ارسال می شود، کاربر با یک پیام فلش مجددا به home page هدایت می شود یا خیر.

[codesyntax lang=”php”]

public function test_contact_page_redirects_user_to_home_page()
{
    $postData = [
        'name' => 'Joe Example',
        'email' => 'email-address',
        'message' => 'I love your website'
    ];
 
    $this->call('POST', '/contact', $postData);
 
    $this->assertRedirectedToRoute('home', null, ['flash_message']);
}

[/codesyntax]

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

برچسب‌ها, , , , , , , , ,

مطالب مرتبط

در این قسمت بیشتر می خواهیم زبان برنامه نویسی PHP را بررسی کنیم و ببینیم که غیر از تعربف و تمجید های تکراری که در تمام وبسایت ها شاهد آن هستیم، چه نقاط ضعفی هم دارد. مقایسه ی PHP + Apache Stack و پلت فرم Node.js مقایسه ی این دو مانند مقایسه ی سیب و پرتقال است. […]

در چهار قسمت قبلی نکات و موارد بسیاری را در رابطه با فریم ورک محبوب و قدرتمند لاراول (Laravel) برای php کار ها عنوان کردیم. این قسمت پنجمین و آخرین قسمت از بررسی فریم ورک laravel است . امیدواریم با مطالعه ی این مقالات و کسب دانش پایه و آگاهی از نکات ضعف و قوت فریم […]

حتما در قسمت های گذشته ی این مبحث با نکات قوت فریم ورک محبوب لاراول آشنا شده اید. پیشنهاد می شود ابتدا قسمت های گذشته را مطالعه کنید تا بطور کامل با فریم ورک laravel آشنا شوید. در این مقاله هم می خواهیم با تعدادی دیگر از امکانات این فریم ورک فوق العاده آشنا شویم. […]

پیشنهاد می شود ابتدا قسمت اول این مقاله را مطالعه فرمایید روابط ساده هنگامی که بخواهید روابط را تعریف کنید چه کارهایی انجام می دهید؟ برای مثال اگر یک task به یک کاربر تعلق داشته باشد. چطور می توانیم آن را در فریم ورک Laravel نمایش دهیم؟ با این فرض که جداول ضروری دیتابیس تنظیم شده اند، […]

نظراتتان را برایمان بنویسید

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

مطالب ما تو این شبکه های اجتماعی هم پخش میشه