perl model-view-controller catalyst

perl - Preguntas del controlador del catalizador



model-view-controller catalyst (1)

Acabo de utilizar el catalizador para mi primer proyecto de gran envergadura y me quedé pensando si utilicé el catalizador de la manera en que debía ser utilizado.

Tengo Root.pm y dentro de ese archivo puse múltiples manejadores de url.

¿Es una buena práctica tener un controlador por url o se debe considerar una agrupación?


Una de las bellezas de Catalyst es su flexibilidad. Puede hacerlo de la manera que mejor se adapte a su aplicación.

Si solo tiene un puñado de URL que admite, entonces no hay nada intrínsecamente incorrecto en ponerlas todas en Root.pm. Particularmente si no hay profundidad, es decir, localhost: 3000 / foo y localhost: 3000 / bar

Sin embargo, tan pronto como empiece a tener URLs más largas como localhost: 3000 / foo / bar / baz / quux donde baz y quux son argumentos para bar, verá el beneficio de separar un Foo.pm que contiene una acción (sub) llamado ''barra''. (Y eso es antes de entrar en las alegrías de las acciones encadenadas ...)

Aunque hay formas en que puede lograr el equivalente de una tabla de enrutamiento de estilo Rails, generalmente no se considera una buena idea. No tener una tabla de rutas es una característica / beneficio intrínseco de Catalyst sobre otros marcos.

Hay una buena discusión de esto en las páginas 13-14 de The Definitive Guide to Catalyst . Si no tienes este libro, deberías.