Pergunta

Eu tenho uma rota definida no meu aplicativo Slim assim:

$app->get('/marcas/:id', 'getMarcas');

Minha função de retorno de chamada é definida como:

function getMarcas($id) {
$sql = "SELECT * FROM marcas WHERE id=:id";
try {
    $db = getConnection();
    $stmt = $db->prepare($sql);  
    $stmt->bindParam("id", $id);
    $stmt->execute();
    $marcas = $stmt->fetchObject();  
    $db = null;
    echo json_encode($mrcas); 
} catch(PDOException $e) {
    echo '{"error":{"text":'. $e->getMessage() .'}}'; 
}

}

Como posso aplicar uma condição de rota como:

->conditions(array('id' => '[0-9]{2,}'));

Obrigado

Foi útil?

Solução

Você pode atribuir condições exatamente como adivinhou.Consulte a documentação das Condições da Rota para obter detalhes: http://docs.slimframework.com/#Route-Conditions

Outras dicas

você pode usar

$app = new \Slim\Slim();
$app->get('/hello/:firstName/:lastName', $callable)
->conditions(array('lastName' => '[0-9]{2,}'));

com chamada de get/post

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top