LINUX.ORG.RU

История изменений

Исправление qnikst, (текущая версия) :

У Yesod это отдельный файл routes (хотя можно и в коде делать) формата:

/blog/#BlogId HandlerR Get Post Delete
/static/ StaticR Static getStatic
/blog/year/#Int/month/#Int MonthR Get
/wiki/*Text WikiR

где #Тип обозначает автоматическое преобразование к типу с возможностью добаления своих (хотя динамическим языкам почти пофиг), *Тип обозначает массив типов, потом идёт имя хэнлера или модуля (subsite в терминах yesod), это имя является типом, который можно использовать для безопасного роутинга, генеринья ссылок, установки правил авторизации и т.д. в случае модуля указывается тип модуля и функция его получения, потом указываются запросы на которые идёт ответ.

Регекспов явно нет, но эту проверку можно делегировать функции. Можно делать «пересекающиеся» пути.

забыл дописать, что пути иерархические, т.е. можно делать

/a A
   /b B

Исходная версия qnikst, :

У Yesod это отдельный файл routes (хотя можно и в коде делать) формата:

/blog/#BlogId HandlerR Get Post Delete
/static/ StaticR Static getStatic
/blog/year/#Int/month/#Int MonthR Get
/wiki/*Text WikiR

где #Тип обозначает автоматическое преобразование к типу с возможностью добаления своих (хотя динамическим языкам почти пофиг), *Тип обозначает массив типов, потом идёт имя хэнлера или модуля (subsite в терминах yesod), это имя является типом, который можно использовать для безопасного роутинга, генеринья ссылок, установки правил авторизации и т.д. в случае модуля указывается тип модуля и функция его получения, потом указываются запросы на которые идёт ответ.

Регекспов явно нет, но эту проверку можно делегировать функции. Можно делать «пересекающиеся» пути.