Как я пытался перейти на 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.
Например я люблю делать редиректы:

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

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

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

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

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

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

Kohana::debug();

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

Kohana_Debug::dump();

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

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

Security::xss_clean()

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

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

Model_Auth_User::change_password

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

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

  1. Anonymous

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

  2. антон

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

  3. codeator

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

Комментарии запрещены.