Se você prefere usar hífen (ou hífens) nas URL’s do seu projeto com Kohana, isto é muito simples. Basta extender a classe Request para gerenciar isso.
Salve no arquivo application/classes/request.php:
<?php defined('SYSPATH') or die('No direct script access.');
class Request extends Kohana_Request
{
public function execute()
{
$this->action(str_replace('-', '', $this->action()));
$this->controller(str_replace('-', '', $this->controller()));
return parent::execute();
}
}
A função str_replace elimina todas as ocorrências de hífens em controllers e actions da sua URL. Mas você pode adaptar e usar conforme precisar no seu projeto, substituindo por algum outro caractere, se essa for a necessidade.

Kohana: URL's com hífen
Assim, permite por exemplo você tem uma URL
http://seuprojeto.com/sobre-nos/localize-no-mapa
ser redirecionada para o controller sobreNos e a action localizeNoMapa
É simples, é Kohana!
É por isso que eu gosto :)
Boa dica!
Valeu ae Beto ;)
Boa Marcelo!
Estou usando algo parecido em um sistema de e-commerce que estou desenvolvendo com o kohana… hehe
Abraços
Valeu ae Matheus!
Eu postei porque volta e meia alguém me pergunta como implementar isso, em vez de ficar colando via Google Talk gravei o post aqui pra ajudar mais gente :)
Legal a idéia.
Aqui costumo configurar rotas especificas no bootstrap quando preciso de algo desse tipo.
Valeu
Opa.
Também é uma ótima solução.
Abraço
E aí Marcelo, tudo bem?
Fiquei curioso: Porque isso não vem implementado no Kohana 'por padrão'?
Abraço e continue mantendo seu ótimo trabalho de divulgação do Kohana.
Boa pergunta Adler.
Um pouco é pela estrutura HMVC onde o underscore representa o diretório na nomeação das classes. Outra porque você não consegue declarar um classe Controller_Meu-Controller-Com-Hifen no PHP :)
Abraço e obrigado pelo comentário!
Pra quem tem algum projeto rodando na versão 3.0.8..
Controller e Action são atributos.. então basta substituir pelo código abaixo:
public function execute() {
$this->action = str_replace('-', '', $this->action);
$this->controller = str_replace('-', '', $this->controller);
return parent::execute();
}