آموزش Laravel (قسمت سوم)
#1
Note 
اولین قسمتی که برای کار با Laravel باید یاد داشته باشیم، بخش مسیریابی یا Routing است. در واقع توسط این بخش ما مشخص میکنیم، که برای مثال اگر کاربر یک آدرس مشخصی از سایت را وارد کرد، چه صفحه ای به کاربر نمایش دهیم.


ساختار Laravel
ساختاری که توضیح داده میشود، مربوط به Laravel 4 است، که ممکن است در آینده تغییر داشته باشد. پوشه public محل قرار دادن فایل های استاتیک و همچنین استایل ها و فایل های جاوا اسکریپت است. پوشه views که در داخل پوشه app قرار دارد، محل قرار دادن فایل های صفحات داینامیک است.

همچنین کدهای مربوط به Routing در فایل routes.php در پوشه app قرار دارد.


کار با routes
اولین کاری که باید انجام دهیم، تغییر صفحه اصلی می باشد. برای اینکار ابتدا یک فایل به نام home.blade.php در پوشه views می سازیم. Laravel از موتور تپلمیت Blade استفاده میکند. که در قسمت بعدی نحوه کار با آن را شرح میدهیم.

پس از ساخت فایل بالا ما کدهای زیر را درون آن قرار میدهیم.

کد php:
<!DOCTYPE html>
<
html>
<
head>
  <
title>My site</title>
  <
meta charset="utf8">
  <
link rel="stylesheet" type="text/css" href="style/main.css">
</
head>
<
body>
  <
h1>سایت من</h1>
  <
a href="/register">ثبت نام</a>-
</
body>
</
html

همانطور که میبیند ما یک فایل استایل را هم به آن اضافه کردیم، که در پوشه style قرار دارد. اما یادتان باشد که مسیر پوشه style در  واقع در پوشه public است.

حالا میخواهیم زمانی که کاربر صفحه index را باز کرد، فایل بالا رندر و نمایش داده شود. فایل routes.php از پوشه app را باز میکنیم. زمانی که این فایل را باز میکنید، کدهای زیر درون آن قرار دارد.

کد php:
Route::get('/', function() {
  return 
View::make('hello');
}); 

کد بالا در  واقع میگوید هر زمانی که کاربر صفحه index (/) را باز کرد، فایل hello نمایش داده شود. شما میتوانید فایل hello را در پوشه views مشاهده کنید. تنها کاری که ما باید انجام دهیم، این است که hello را به home تغییر دهیم.

بعد از انجام کار بالا، صفحه اصلی سایت را باز میکنیم، و مشاهده میکنیم که فایل home نمایش داده میشود.

اگر به دقت کدهای فایل home.blade.php را که در بالا نوشتیم مشاهده کنید، ما یک لینک ثبت نام هم قرار داده ایم، که با کلیک کردن کاربر روی آن، به مسیر register/ منتقل میشود. ابتدا یک فایل به نام register.blade.php در پوشه views میسازیم و کدهای زیر را درون آن قرار میدهیم.

کد php:
<!DOCTYPE html>
<
html>
<
head>
  <
title>Register</title>
  <
meta charset="utf8">
  <
link rel="stylesheet" type="text/css" href="../style/main.css">
</
head>
  <
h1>ثبت نام کاربران</h1>
</
html

حالا باید در فایل routes.php کدی قرار دهیم که زمانی که کاربر آدرس register/ را باز کرد، صفحه register.blade.php نمایش داده شود. برای اینکار کد زیر را درون فایل routes.php قرار میدهیم.

کد php:
Route::get('/register', function() {
  return 
View::make('register');
}); 

حالا به صفحه اصلی می رویم و روی لینک کلیک میکنیم. بسته به نوع سرور شما ممکن است، وارد صفحه register شده باشید و یا با صفحه 404 روبرو شوید. اگر صفحه register برای شما باز شده باشد که همه چیز درست است. اما اگر باز نشده است، باید کدهای درون فایل htaccess. را چک کنید.

در  واقع آدرس اصلی صفحه register آدرس میباشد، ولی ما باید با استفاده از کدهای htaccess آدرس آن را به تغییر دهیم.

این روش برای استفاده در VPS یا localhost است. ابتدا کدهای داخل فایل htaccess. را که درون پوشه public است، مشاهده کنید. مشابه کدهای زیر است.

کد php:
<IfModule mod_rewrite.c>
    
RewriteEngine on
 
    RewriteCond 
%{REQUEST_FILENAME} !-f
    RewriteCond 
%{REQUEST_FILENAME} !-d
 
    RewriteRule 
^(.*)$ index.php/$[L]
</
IfModule

میبینید که در کد بالا از ماژول rewrite استفاده کردیم. برای استفاده از این روش باید ماژول rewrite فعال باشد. برای فعال کردن این ماژول در سیستم عامل های بر پایه Debian و احتمالاً OS X از کد زیر استفاده کنید.

در سیستم عامل ویندوز باید در تنظیمات سرویس دهنده apache خود، این ماژول را فعال کنید.

اما اگر به هر دلیلی از این روش نتوانستید استفاده کنید و یا هاست شما این ویژگی را غیرفعال کرده بود، کدهای زیر را جایگزین کدهای قبلی کنید. کدهای زیر در localhost ممکن است جواب ندهند. برای localhost باید از روش بالا استفاده کنید.

کد php:
Options +FollowSymLinks
RewriteEngine On
 
RewriteCond 
%{REQUEST_FILENAME} !-d
RewriteCond 
%{REQUEST_FILENAME} !-f
RewriteRule 
index.php [L

خب حالا به صفحه اصلی می رویم و روی لینک ثبت نام کلیک میکنیم، مشاهده میکنیم که وارد صفحه ثبت نام شده ایم.

ما تا این مطلب مشغول آماده سازی Laravel بودیم. کارهایی از قبیل حذف آدرس public، درست کردن permissionها و حذف index.php از آدرس سایت بودیم، ولی در این مطلب با مسیریابی هم آشنا شدیم.

منبع آموزش: Laravel: مسیریابی یا Routing | آپارنت

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note آموزش MVC به زبان ساده (تصویری) Daniel 1 800 16-08-2016 ساعت 09:24
آخرین ارسال: aaiz
Note آموزش MVC Daniel 1 679 26-11-2015 ساعت 12:56
آخرین ارسال: bkk
Note کتاب آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 991 16-02-2015 ساعت 10:48
آخرین ارسال: Stack OverFlow
Note آموزش ساخت صفحه بندی در php pHp king 2 1,076 18-05-2014 ساعت 15:34
آخرین ارسال: pHp king
Note سورس وبلاگ نوشته شده با فریمورک لاراول(Laravel) Daniel 0 480 09-05-2014 ساعت 19:20
آخرین ارسال: Daniel
Note آموزش مقدماتی php (کتاب) PHP.sec 0 359 16-03-2014 ساعت 21:25
آخرین ارسال: PHP.sec
Note آموزش PHP از مقدماتی تا پیشرفته Stack OverFlow 0 363 28-02-2014 ساعت 16:23
آخرین ارسال: Stack OverFlow
Note آموزش Regex IranPhp 1 392 09-02-2014 ساعت 18:29
آخرین ارسال: PHP.sec
Note آموزش گذاشتن کپچا(Captcha) در سایت SOFTAFZAR 1 1,271 06-02-2014 ساعت 22:46
آخرین ارسال: Wp script
Note آموزش ساخت نسخه موبایل برای سایت SOFTAFZAR 0 437 27-01-2014 ساعت 15:24
آخرین ارسال: SOFTAFZAR

کاربرانِ درحال بازدید از این موضوع:   1 مهمان