Název vozidla v URL – routování

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Martin Mates
Člen | 179
+
0
-

Zdravíčko. Píšu zrovna stránku pro autobazar a rád bych měl v URL na jednotlivé vozy i jejich název. Napadlo mě dát do bootstrap.php následující:

<?php
$db = dibi::getConnection();
$cars = $db->select('custom_car_id, manufacturer_text, model_text, type_info')->from('cars')->execute()->fetchAll();
foreach ($cars as $car) {
    $route = urlCreator($car['manufacturer_text'] . ' ' . $car['model_text'] . ' ' . $car['type_info']);

    $router[] = new Route($car['custom_car_id'].'/'.$route.'/', array(
        'presenter' => 'Main',
        'view' => 'vuz',
        'id' => $car['custom_car_id'],
    ));

}
?>

Snad je z toho jasné, co se děje. Zajímalo mě, jestli jsem neudělal nějakou prasárnu a jestli nejdu proti nějaké logice. Jak byste to řešili vy?

Jan Tvrdík
Nette guru | 2595
+
0
-

Osobně si myslím, že to prasárna je, hlavně pokud aut bude hodně.

Co spíš něco jako:

$router[] = new Route('<id>/<auto>/', array(
    'presenter' => 'Main',
    'view' => 'vuz',
));