比方说,我有
$app->get('/hello/:name', function($name){
echo 'Hello' . $name;
});
$name
如果我只是去,是否可以有默认值
http://myurl.com/hello
*没有第二段,它将输出
你好默认
如果是,该怎么做?如何为 Slim 中的路由参数分配默认值?
我知道有Optional Route Parameter,但我不确定是否使用它,因为它仍然是实验性的。
谢谢。
比方说,我有
$app->get('/hello/:name', function($name){
echo 'Hello' . $name;
});
$name
如果我只是去,是否可以有默认值
http://myurl.com/hello
*没有第二段,它将输出
你好默认
如果是,该怎么做?如何为 Slim 中的路由参数分配默认值?
我知道有Optional Route Parameter,但我不确定是否使用它,因为它仍然是实验性的。
谢谢。
试试这个,我已经测试过了。我工作得很好。
<?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;
});