Как я пытался перейти на Kohana3.1.1



kohanaМоя миграция с Kohana 3.0.9 на 3.1.1 не удалась. Старался-старался, но не срослось. В 3.1.1 я не нашёл, а возможно их и нет многих нужных мне функций, что создаёт ощущение сырого продукта, который ещё будет дорабатываться. Поэтому свои работающие проекты я пожалуй поделаю на 3.0.

Тем не менее за новой версией будущее и я хочу сохранить в качестве шпаргалки на будущее мой сегодняшний опыт.

Что именно поменялось довольно подробно расписано в блоге Ивана Броткина. Здесь я опишу быструю шпаргалку для ленивых, то с чем я столкнулся.

Валидация
======================
Попробуйте для начала просто заменить по всем текстам слово Validate на Validation.
У меня сработало. А вообще, Валидация переработана существенно, и если она у вас хитрозакрученная – без внимательного чтения мануалов не обойтись.

Request
======================
Теперь нет Request::instance() Ему в 3.1 соотверствует конструкция Request::$initial.
Например я люблю делать редиректы:

1
2
3
Request::instance()->redirect('some/thing');
//меняем на
Request::$initial->redirect('some/thing');

А ещё я очень люблю на каждом шагу проверять, а какое у меня нынче URI?

1
2
3
$this->request->uri
// меняем на
$this->request->uri()

Response
========================
Теперь Responce – отдельный объект, да ещё и со своим новым норовом.

1
2
3
$this->request->response=$view;
//меняем на
$this->response->body($view);

Ложка дёгтя, или Чего мне не хватило в 3.1.1
========================
1) Меня очень напрягло отсутствие уже привычной команды

1
Kohana::debug();

Вместо неё я пока юзал

1
Kohana_Debug::dump();

В принципе сойдёт, хотя не совсем то.

2) Меня насторожило отсутствие привычного

1
Security::xss_clean()

Никакой замены не нашёл.

3) Но окончательно меня добило отсутствие очень важной функции

1
Model_Auth_User::change_password

Замены тоже не нашёл. Видимо пока не реализовали эту функцию? Будем ждать.

Посты по теме:

  1. Штатная валидация в Kohana3
  2. Kohana3. Прямые запросы к БД
  3. Kohana3.0 ORM. Связь “один-к-одному”
  4. NB: HTTP-редирект 301 в Kohana

Категории Kohana |
автор: altesack / Вторник, Март 08, 2011 / 4 комментов »

4 комментов

    А нафига Security::xss_clean()? Правильно сделали, что убрали. Данные нужно экранировать, а не “чистить”.

    Убрали, то убрали, а чем заменили???

    htmlspecialchars() видимо)

    Собственно Security::xss_clean более не нужна, поскольку авторы пошли более логичным путём и реализовали функционал HTMLPurifier через этот модуль https://github.com/shadowhand/purifier, а не простым экранированием обошлись.

Ответить