Im Allgemeinen verwenden Sie Routengruppen, um ähnliche Ressourcen oder Inhalte zu organisieren, sodass Sie ihre Beziehung im Code sichtbar sehen können. Routengruppen sind auch hilfreich, wenn Sie spezielle Bedingungen wie Middleware einer bestimmten Gruppe zuordnen müssen. Beispiel: Sie haben möglicherweise einen Administratorabschnitt auf Ihrer Website und möchten sicherstellen, dass der Benutzer tatsächlich Administrator ist, bevor Sie auf den Controller zugreifen.
Offensichtlich wäre es sinnvoller, diese Routen zusammen zu gruppieren, da sie ähnliche Merkmale aufweisen. Wenn Sie jemals etwas an diesen Eigenschaften in der Zukunft ändern müssen (wie die Art der Middleware), müssen Sie es nur einmal tun.
$app->group('/panel', function() use ($app) {
$app->group('/admin', function() use ($app) {
$app->get('', 'Admin/DashboardController:index');
$app->get('/users', 'Admin/UserController:index');
$app->post('/users', 'Admin/UserController:create');
})->add($adminAuth);
})->add($userAuth);
Es ist auch hilfreich, wenn Sie jemals den Anwendungsfall dieser spezifischen URI erweitern wollen, können so sagen, dass Sie ein neues Feature in der Platte ausrollen wollen, dass normale Benutzer verwenden können.
$app->group('/panel', function() use ($app) {
$app->group('/admin', function() use ($app) {
$app->get('', 'Admin/DashboardController:index');
$app->get('/users', 'Admin/UserController:index');
$app->post('/users', 'Admin/UserController:create');
})->add($adminAuth);
$app->get('', 'DashboardController:index');
})->add($userAuth);
Obwohl es nicht sehr viel von Bedeutung ist, ist es nur gute Praxis den gesamten Code Layout wie möglich organisiert und Route-Gruppen können Sie dies tun.
eigentlich, für mich sieht das letztere viel besser strukturiert aus. aber wenn beide funktionieren, möchten Sie es vielleicht so machen, wie es Ihnen besser gefällt. SO ist nicht wirklich geeignet für Meinungsfragen. – nonchip
@nonchip Das ist die Sache. Ich weiß nicht, ob es an der Meinung liegt oder es eine richtige Konvention gibt. – Ivan
na dann schauen Sie sich docs oder Beispielprojekte für das Framework an, und was immer dort konsistenter zu verwenden scheint, könnte die Konvention sein. Als Faustregel würde ich sagen, das erste Beispiel ist in Ordnung (= einfach), wenn man die Dinge kurz hält, aber das zweite scheint besser zu verwalten (sowohl vom Standpunkt eines optimierenden Routers als auch vom Standpunkt eines Programmierers), also nutze das wenn du mit Büchern viel zu tun hast. – nonchip