Slim PHPで次のようなことを達成しようとしています:
ページ/p1/p2/p3/p4
私が欲しいのは、右からパラメーターを省略した場合(明らかに)、受け取ったパラメーターに基づいて自分のことをしたいということです。
$app->get('/page(/)(:p1/?)(:p2/?)(:p3/?)(:p4/?)',
function ($p1 = null, $p2 = null, $p3 = null, $p4 = null) {
print empty($p1)? : '' . "p1: $p1/<br/>";
print empty($p2)? : '' . "p2: $p2/<br/>";
print empty($p3)? : '' . "p3: $p3/<br/>";
print empty($p4)? : '' . "id: $p4<br/>";
});
すべてが期待どおりに機能しますが、問題は、最後から1
パラメーターを削除するたびに、削除するすべてのパラメーターに対して出力されることです。なぜそうしているのですか?ここで何が間違っていますか?