PDA

View Full Version : route post va get??



mshoping
چهارشنبه 14 اسفند 1392, 15:11 عصر
دوستان تو بحت route ميشه به من بگيد كه فرق بين route GET و route post چيه ؟
چه زماني از get استفاده ميشه و چه زماني از post??

مثلا الان اين كد چيكار ميكنه ؟؟


Route::post('foo/bar', function()
{
return 'Hello World';
});

mshoping
چهارشنبه 14 اسفند 1392, 17:38 عصر
كسي نيس جواب بده؟؟

tux-world
چهارشنبه 14 اسفند 1392, 17:52 عصر
خوب این روت میگه آدرسی که به شکل foo/bar ارسال میشه از طریق آدرس return اجرا بشه. مبحث get و post همون تعاریفی هستش که تو xhtml 1 تعریف شده. بهتره خود این متدها رو مطالعه کنید که همین مبحثه

mshoping
چهارشنبه 14 اسفند 1392, 18:11 عصر
داداش ميشه واضح تر بگي ؟
الان فرق اين دوتا چيه ؟؟
get كي استفاده ميشه ؟ post كي استفاده ميشه؟؟

tux-world
چهارشنبه 14 اسفند 1392, 20:11 عصر
این مبحثی که میپرسید اصلا ربطی به روت و لاراول نداره. این لینک (http://www.w3schools.com/tags/ref_httpmethods.asp) رو مطالعه کنید

rezakho
چهارشنبه 14 اسفند 1392, 20:20 عصر
اگر بخوام ساده بگم همون متدهای ارسال فرم هست توی html


<form method="post"></form>


فرقشون هم در روش ارسال داده هاست
اگر کافی نبود بگو تا بیشتر توضیح بدم

MMSHFE
پنج شنبه 15 اسفند 1392, 16:08 عصر
به این مثال دقت کنید:


Route::post('foo/bar', function($name)
{
return 'Hello ' . $name;
});
Route::get('foo/bar', function($name)
{
return 'Goodbye ' . $name;
});

حالا اگه فرمی داشته باشیم که action اون به foo/bar اشاره کنه و متدش Post باشه و مقدار name رو ارسال کنه، پیغام Hello و بعد name واردشده چاپ میشه ولی اگه همین foo/bar رو بصورت Get صدا بزنیم و name رو بفرستیم، پیغام Goodbye و بعد name واردشده ظاهر میشه.
مثال فرضی از روش Post :


<form action="foo/bar" method="post">
<input name="name" type="text" />
<input type="submit" value="Say Hello" />
</form>

مثال فرضی از روش Get :

<a href="foo/bar?name=ali">Say Goodbye</a>

metal gear solid 4
پنج شنبه 15 اسفند 1392, 20:23 عصر
به این مثال دقت کنید:


Route::post('foo/bar', function($name)
{
return 'Hello ' . $name;
});
Route::get('foo/bar', function($name)
{
return 'Goodbye ' . $name;
});

حالا اگه فرمی داشته باشیم که action اون به foo/bar اشاره کنه و متدش Post باشه و مقدار name رو ارسال کنه، پیغام Hello و بعد name واردشده چاپ میشه ولی اگه همین foo/bar رو بصورت Get صدا بزنیم و name رو بفرستیم، پیغام Goodbye و بعد name واردشده ظاهر میشه.
مثال فرضی از روش Post :


<form action="foo/bar" method="post">
<input name="name" type="text" />
<input type="submit" value="Say Hello" />
</form>

مثال فرضی از روش Get :

<a href="foo/bar?name=ali">Say Goodbye</a>

البته همیشه سعی کنید Route هاتون رو به این صورت بنویسید.


Route::get('foo/bar', array( 'as' => 'getFoo', 'uses' => 'FooController@getFoo' ));
Route::post('foo/bar', array( 'as' => 'postFoo', 'uses' => 'FooController@postFoo'));
نام گذاری به Route ها مد نظرمه. با استفاده از as => name
اینطوری اگر شما آدرس این route رو هم تغییر بدید در آینده. دیگه نیازی نیست برید و action تک تک فرمای ارجاعی به این route رو هم تغییر بدید. به این صورت


<form action="{{route('postFoo')}}" method="post" >

</form>

MMSHFE
پنج شنبه 15 اسفند 1392, 21:29 عصر
درسته. من فقط خواستم یک مثال ساده بزنم تا متوجه تفاوت دو روش بشن و قطعاً اسم دادن به Routeها خیلی مهمه تا بعداً با تغییر اسامی، نیازی به تغییر تمام اکشنها و احیاناً کنترلرها نداشته باشیم.

mshoping
جمعه 16 اسفند 1392, 10:50 صبح
دست همه درد نكنه واقعا ممنون از تك تك شما عزيزان