2015-07-28 13 views
5

, ben bölümler, konular, makale ile kitaplar yayınlayan ediyorum:URL'de bilinmeyen sayıda parametre için laravel yönlendirme nasıl kullanılır? Örneğin

http://domain.com/book/chapter/topic/article

Ben parametrelerle laravel rotayı olurdu:

Route::get('/{book}/{chapter}/{topic}/{article}', '[email protected]')

o laravel içinde, mümkün mü, kitap yapısında bilinmeyen sayıda seviyeye hitap eden tek bir kurala sahip olmak (this question'a benzer)?

//in routes.php 
Route::get('/{book?}/{chapter?}/{topic?}/{article?}', '[email protected]'); 

//in your controller 
public function func($book = null, $chapter = null, $topic = null, $article = null) { 
    ... 
} 

fazla bilgi için dokümanlar bakın: http://laravel.com/docs/5.0/routing#route-parameters

vb alt yazılar, alt alt yazılar, olduğu yerde Bu gerekenler

cevap

7

opsiyonel yönlendirme parametrelerdir .. anlamına gelecektir GÜNCELLEME:

: Eğer makalelerin sonra parametrelerin sınırsız sayıda olmasını istiyorsanız

, aşağıdakileri yapabilirsiniz

//in routes.php 
Route::get('/{book?}/{chapter?}/{topic?}/{article?}/{sublevels?}', '[email protected]')->where('sublevels', '.*'); 

//in your controller 
public function func($book = null, $chapter = null, $topic = null, $article = null, $sublevels = null) { 
    //this will give you the array of sublevels 
    if (!empty($sublevels) $sublevels = explode('/', $sublevels); 
    ... 
} 
+1

Açıklanmış soru. {Articles} 'dan sonra sınırsız sayıda seviyenin olduğu yerde kastettim. Yani '/ sub-article/sub-sub-article /' etc vb – greener

+1

Cevabı –

+1

-> nerede güncelledim ('sublevels', '. *'); doğru cevap, iyi iş – llioor