簡體   English   中英

在Slim中為路由參數指定默認值

[英]Assign default value to route parameter in Slim

讓我們說,我有

$app->get('/hello/:name', function($name){
  echo 'Hello' . $name;
});

是否有可能有$name默認值,所以如果我去

http://myurl.com/hello

*沒有第二段,它將出局

你好默認

如果是的話,怎么做? 如何在Slim中為route參數指定默認值?

我知道有可選的路由參數 ,但我不確定使用它,因為它仍然是實驗性的。

謝謝。

試試這個,我測試過了。 我運作良好。

<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim();
$app->get('/hello(/:name)', function ($name = 'default') {
    echo "Hello, $name";
});
$app->run();

你可以這樣訪問:

http://slim.test.com/hello
http://slim.test.com/hello/srain

不能這樣訪問:

http://slim.test.com/hello/

更新:如果你想讓他們兩個都可以訪問:

<?php
require 'vendor/autoload.php';
$app = new \Slim\Slim();
$app->get('/hello(/)(/:name)', function ($name = 'default') {
    echo "Hello, $name";
});
$app->run();

您只需使用default parameters

$app->get('/hello/:name', function($name="default"){
  echo 'Hello' . $name;
});
$app->get('/hello/:name', function($name){
  if (empty($name)){
    $name='default';
  }
  echo 'Hello' . $name;
});

我遇到了類似的問題,我必須處理請求中的可選參數。 試試這個我自己測試過。

$app->get('/hello(/:name)',function($name="default"){
  echo 'Hello' . $name;
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM