繁体   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