2013-02-15 45 views
5

Mojolicious çerçevesini kullanarak uygulamaların nasıl programlanacağını öğreniyorum ve neden rota adlarını kullandığınız konusunda güldüm. Örneğin, bir rota,Mojolicious'da bir rota isminin amacı nedir?

Ancak, isim parametresinin amacı nedir? Web çerçevelerine yeni geldim, belki de bunun önemsiz bir cevabı var.

cevap

16

Rotayı belirtmek, dinamik olarak bir URL oluşturmak istiyorsanız daha sonra başvurmanıza izin verir. senin Örneğin sayesinde, kodunuzda daha sonra yapabilirsiniz:

my $link = $self->url_for('cities_new_form') 

ve $link otomatik /cities/new biten bir URL ile doldurulması olacaktır. Rotanız dinamik bölümleri varsa fantezi alabilirsiniz. Örneğin:

$r->route('/cities/:cityname') 
    ->via('get') 
    ->to(controller => 'cities', action => 'new_form') 
    ->name('cities_new_form'); 

Sonra /cities/newyork ile sona ereceğini

my $link = $self->url_for('cities_new_form', cityname => 'newyork'); 

Ve $link gibi bir URL oluşturabilir.

Bunlar önemsiz örneklerdir, ancak rotalarınız daha fazla yer aldığında oldukça karmaşık şeyler oluşturabilirsiniz.

Rotayı isimlendirmezseniz, içindeki alfasayısal karakterlerin yalnızca birleşimiyle eşleşen bir ad alır. Bu, uzun rotalar için sıkıcı olabilir, böylece adları kısaltmak için isimleri kullanabilirsiniz.

Ayrıca Mojolicious belgelerinde de Named Routes konusuna bakın.