А Я начал вот так
Mizter Egoist 16.12.2015 16:59
$param[$request:uri]
$fURI[^param.match[^(?:/(.+?))?(?:/(.+?))?(?:/(.+?))?(?:/(.+?))?(?:/(.+?))?(?:\?(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?(?:&(.+?))?^$][g]]
$_uri[
$.[$fURI.1][^existence[$.part[$fURI.1]]]
$.[$fURI.2][...]
$.[$fURI.3][...]
$.[$fURI.4][...]
$.[$fURI.5][...]
]
^if($_uri.[$fURI.1] eq 'true'){
$cSection[^get.getSections[$.url[$fURI.1]]]
^S.page[
$.s_id[${cSection.id}]
]
}
$_query[
$.[$fURI.6][...]
$.[$fURI.7][...]
$.[$fURI.8][...]
$.[$fURI.9][...]
$.[$fURI.10][...]
$.[$fURI.11][...]
$.[$fURI.12][...]
$.[$fURI.13][...]
$.[$fURI.14][...]
$.[$fURI.15][...]
]
Вот допустим @dispatch[URL][locals], Я не знаю что такое locals, в документации написано, что это использование локальных переменных внутри метода.
Что это дает, использование [locals]?
Не заметил где Вы делаете сверку между полученными данными и данными в БД.
Я понял код так:
В .htaccess стоит:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)?$ /?url=$1 [L,QSA]
Main передает методу $form:url.
Метод создает таблицу в которой содержится название обработчика и что-то похожее на адрес, где применяется данный обработчик.
Еще создается хеш со всеми полями $form
Дальше берется адрес, нарезается, делаем первую букву адреса большой, перед адресом добавляем on, записываем в таблицу имя обработчика и путь, где он применяется.
И если $handler is junction, то передаем $handler параметры, $handler в итоге принимает форму нужного нам обработчика.
И это все ясно.
Получается как Вы и говорили /news/2015/best
Нужно писать метод @onNews2015Best[] и в нем разбираем хеш $form.
Получается если у нас будет категория /catalog, то нам необходимо создать метод @onCatalog[]
А мне нужно немного другое, нужно чтобы было проще, чтобы был метод не onNews, а onEntries, в котором происходит вывод страницы с записью, а onGoods будет выводить страницу с товаром, onHeading страницу с подразделом.
У меня создано несколько классов, например класс страницы с записью, класс страницы с товаром, класс страницы с разделом.
Есть класс который разбивает $request:uri, проверяет каждую часть адреса, если такие записи в БД существуют, то вызываем нужный нам класс (метод).
Например /catalog/else/shit
Обработчик проверяет если shit, это товар который относиться к подкатегории else, которая тоже существует и относиться к категории catalog, которая в свою очередь тоже существет, то вызывается класс страницы товара, который выводит конкретный товар.
Я это реализовал не лучшим способом. И у меня задача выводить title, keywords и description в head страницы, но не знаю как в auto.p вызывать переменную, которая содержится в хеше класса страницы.
- Обработка URI, Mizter Egoist 17.11.2015 11:12
- Еще код, Mizter Egoist 17.11.2015 11:41
- Не могли бы вы словами написать, что вы хотите сделать..., Sumo [M] 17.11.2015 16:15 / 17.11.2015 16:16
- Ответ, Mizter Egoist 17.11.2015 16:38
- Ответ, Sumo [M] 17.11.2015 16:47
- Помогите с регулярным выражением, оно не работает, Mizter Egoist 16.12.2015 14:37 / 16.12.2015 14:42
- Не туда, G_Z [M] 16.12.2015 15:24
- Ответ, Mizter Egoist 16.12.2015 15:36
- Ответ, G_Z [M] 16.12.2015 15:48 / 16.12.2015 15:49
- А Я начал вот так, Mizter Egoist 16.12.2015 16:59
- Ответ, G_Z [M] 16.12.2015 17:59
- Заработало, заэкранировал $ (-), Mizter Egoist 16.12.2015 15:00
- Вот так получилось, Mizter Egoist 17.11.2015 18:02