Ist es möglich, Silex-Routen zu definieren, wenn die Routendefinition erfolgt? Zum Beispiel definieren die folgenden Routen je nachdem, was die bisherigen Routen sind:Definieren von Silex-Routen als
/a/{user}/{app_name}/list/ -> /a/{user}/{app_name}/list/{id}/
/a/{user}/{app_name}/add/ -> /a/{user}/{app_name}/add/success/
/a/{user}/{app_name}/help/ -> no sub route
Hier die 5. Route {id}
sein sollte, wenn die 4.list
oder success
ist, wenn die 4.add
oder nichts ist, wenn Die 4. ist help
. Allerdings weiß ich nicht, wie dies in Silex zu tun:
$app -> get('/a/{user}/{app_name}/{action}/{sub}/', function (Silex\Application $app, $user, $app_name, $action, $sub) {
...
});
die offensichtlich nicht für alle von ihnen zu arbeiten.
Gibt es eine Möglichkeit, so etwas zu tun:
$app -> get('/a/{user}/{app_name}/{action}/', function (Silex\Application $app, $user, $app_name, $action) {
if ($action == 'list') {
$app -> get('/a/{user}/{app_name}/{action}/{id}', function (Silex\Application $app, $user, $app_name, $action, $id) {
...
});
} elseif ($action == 'add') {
$app -> get('/a/{user}/{app_name}/{action}/success', function (Silex\Application $app, $user, $app_name, $action) {
...
});
}
});
Die Aktionen Liste, hinzufügen, Hilfe usw. sind unbestimmt, wie sie durch meine Benutzer definiert werden, die einfache Anwendungen erstellen in unserem System. Es gibt also keine Möglichkeit, sie direkt in meinen Code zu schreiben. Es ist nur, nachdem das Routing zu einer bestimmten Benutzer-App z. /a/jim/cook
dass die Aktionen verfügbar sind.
Ist das möglich? Wie?