Kohana, ЗаметкиРоуты в kohana 3.2/3.3

Все, кто используют фреймворк 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 →

KohanaКак убить время? Спросите меня =)

Читайте, *** (цензура), список изменений, при смене версии фреймворка или языка программирования! Еще раз повторю — ЧИТАЙТЕ ВНИМАТЕЛЬНО! Именно из-за моей невнимательности я вчера потратил больше 4-х часов на отладку простейшего модуля системы (модуль flash-сообщений). Вдумайтесь — больше 4 часов жизни на десяток простейших строк приложения!

Расскажу подробнее… Все началось с того, что в новом проекте решил использовать свой модуль notify из предыдущих проектов, на которых он отлично работал. Используется он примерно так:

Notify::error('Сообщение об ошибке');
$this -> request -> redirect($url);

или так:

Notify::error('Сообщение об ошибке');
$this -> content = View::factory('page');

Если происходит редирект, notify сохраняет flash-сообщения в сессию и редиректит. Если происходит вывод страницы — выводит flash-сообщения и забывает про них. Достигается подобное использованием модуля Kohana-Dispatcher: проставляем запуск определенных событий в определенных местах приложения. Вот тут-то я и нарвался на неприятности…

Как убить время? Спросите меня =) →

Kohana, ПроектыWordPress + Kohana

Сегодня расскажу как интегрировать kohana 3.2 в wordpress. Тема для меня интересная, т.к. последний опыт написания скриптов на чистом php мне не понравился =). Вообще, в инете инфу на данную тематику найти тяжело. Либо все ссылаются на плагин Kohana-for-Wordpress, либо инфа очень старая и не подходит для WP3 или/и KO3.2.

Для начала, немного истории о том, как я искал всю эту инфу =). Первым шагом, конечно-же, был поиск. Первым пунктом в выдаче идет блог уважаемого мной программиста Саши Купреева. На странице, которую выдал Яндекс, подробное описание использования плагина Kohana-for-Wordpress, о котором я говорил выше. И в этом описании видно, что плагин тестировался для ko3.0 и wp2.8.4. Те, кто следит за развитием kohana или wordpress поймут, что версии настолько устарели, что вряд ли вообще этот плагин будет работать. Так же подумал и я, но решил проверить…

WordPress + Kohana →