Вчера в твиттере Иван скинул ссылку, на баг в kohana 3.3 под №4638. В поисках проблеммы, сегодня, убил почти 2 часа времени и все-равно сам бы не нашел корень проблемы. Спасибо хорошему человеку (Трин, привет :)). Давайте по порядку разберем суть проблемы, источник проблемы и ее решение…
ВНИМАНИЕ! На абсолютные цифры не смотрите, смотрите на процентное изменение. По поводу абсолютных цифр выскажусь в конце поста.
Kohana: Bug Report #4638 →
Все, кто используют фреймворк kohana, наверное уже знают, что несколько дней назад вышла версия 3.3.0. Изменений не то, чтобы много, но многие из них (как обычно) что-либо меняют кардинально, т.е. обновить старые проекты просто так не получится (.
В ближайшее время постараюсь рассказать об особенностях тех изменений, которые коснулись меня, а сегодня покажу приятные изменения в роутах. Как Вы, наверное, знаете — начиная с версии kohana 3.1 и при использовании php 5.3, можно было использовать лямбда-функции в роутах. Выглядело это примерно так (в моем случае и пример упрощенный):
Route::set('redirect', function($uri){
$compiled = Route::compile('r/<key>', array('key'=>'\w+'));
if (!preg_match($compiled, $uri, $matches))
{
return FALSE;
}
$url = @base64_decode($matches['key']);
if (empty($url))
{
return FALSE;
}
return array(
'controller' => 'link',
'action' => 'index',
'key' => $matches['key'],
);
}, 'r/<key>');
Роуты в kohana 3.2/3.3 →