Custom URL Mappings
Custom mappings sirve para especificar qué acción ejecutar para una determinada URL. Las URLs que cumplen las convensiones de Yupp están formadas por la aplicación, el controlador y la acción a ejecutar, un ejemplo de una URL en Yupp es: /blog/entrada/show?id=5, que para la aplicación "blog" y el controlador "entrada" ejecuta la acción "show" pasándole como parámetro "id=5".Entonces con un mapping se puede especificar que ante la url /blog/entrada/show?id=3 en realidad se ejecute otra acción, agregándole flexibilidad a las convensiones de Yupp para que las urls puedan ejecutar las acciones que el programador requiera.
Un ejemplo de mapping es el siguiente:
class AppMapping {
// Para la aplicación blog, controlador y action son opcionales
public $mapping = "/blog(\/.*(\/.*)?)?/";
public function getLogicalRoute( $field_list )
{
return array('app' => $field_list[0],
'controlador' => (!isset($field_list[1])) ? 'entradaBlog' : $field_list[1],
'action' => (!isset($field_list[2])) ? 'list' : $field_list[2]);
}
}
En este caso, el mapping aplica a toda URL para la aplicación "blog" y se aplica para cualquier controlador
y acción, esto está definido por el campo "$mapping" de la clase AppMapping. En este caso
se define que para cuando no venga en controlador y la acción en la URL, el mapping redirija
automáticamente a la url "/blog/entradaBlog/list".Esta clase se define opcionalmente para cada aplicación, y debe estar declarada en un archivo llamado AppMapping.php dentro de la aplicación. Para el caso de la aplicación "blog", la clase debe estar ubicada en "/apps/blog/AppMappings.php".
