Контент


Kohana v3.0.5

Кто тут жаловался, что развитие Ko3 замедлилось? Вчера Shadowhand опубликовал новый релиз Kohana под номером 3.0.5. Релиз в основном багфиксный, но добавлены и некоторые дополнительные возможности.

Сперва традиционные ссылки:
Скачать
Обсуждение на оф. форуме
Список изменений

Дополнительно приведу самые интересные (по крайней мере для меня) изменения:

  • Добавлено свойство Request::$current, которое содержит текущий объект Request. Ранее что-то подобное было доступно только для контроллеров (свойство $this->request). Также появился метод Request::current(), который возвращает все то же свойство Request::$current.
  • Добавлен файл с лицензионным соглашением. Факт сам по себе вполне обыденный, но в той задаче прозвучала фраза «I’m preparing a debian package of kohana«, что означает появление Kohana v3 в репозиториях Linux. Любопытно.
  • Теперь можно удалять сразу несколько переменных из объекта Session. Например, так: Session::instance()->delete('a', 'b', 'c').
  • Появился новый класс для ведения логов — Kohana_Log_Syslog. Из названия класса понятно, что он предназначен для отправки сообщений по протоколу syslog. Внутри используются стандартные функции PHPopenlog(), syslog() и closelog(). При открытии сислога используется параметр LOG_CONS, т.е. в случае неудачной отправки сообщения лог-серверу оно будет выброшено в output консоли. Добавляется логирование аналогично его «собрату» Log_File (т.е. через bootstrap.php), а в качестве параметров в конструктор можно передать ident (строковый идентификатор лога, добавляется к каждому сообщению, по умолчанию ‘KohanaPHP‘) и facility (тип лога, по умолчанию LOG_USER). Для записи доступны типы сообщений ‘ERROR‘ , ‘CRITICAL‘, ‘STRACE‘, ‘ALERT‘ , ‘INFO‘ и ‘DEBUG‘ (остальные будут вызывать ошибку).
  • В класс Security добавлены методы для предотвращения CSRFtoken($new) и check($token). Первый предназначен для генерации токена (или получения уже сгенерированного токена, зависит от параметра $new), второй проверяет соответствие переданного значения токена правильному (хранится в сессии).
  • Модуль Cache теперь включен в стандартный комплект модулей Ko3 (там уже были Codebench, Database, Image, ORM, Pagination, Auth и Userguide).
  • Исправлена ошибка, не позволявшая использовать в методах arr::get() и arr::extract() массивоподобные объекты (потомки класса ArrayObject, к которым можно обращаться как к обычным массивам).
  • Добавлен метод count_last_query(), о котором я недавно писал.
  • Метод Form::textarea() теперь добавляет атрибуты cols и rows, заполняя их значениями по умолчанию (50 и 10 соответственно).
  • Объект Database_Result теперь можно преобразовать в Database_Result_Cached с помощью метода cached(). Это позволит «отвязать» результаты поиска в БД от собственно базы данных (по этой причине объекты Database_Result нельзя сериализовать).
  • Тип сессии по умолчанию теперь можно изменить под себя. Раньше всегда использовался тип native (был прописан в Session::instance()), а теперь выделено статическое свойство $default, которое можно изменить под себя ДО вызова Session::instance(). Естественно, если передать тип сессии вручную в метод instance(), то свойство Session::$default уже не будет анализироваться.
Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Опубликовано в Kohana3.

Теги: , , .


Комментарии (8)

Будьте в курсе обсуждения, подпишитесь на RSS ленту комментариев к этой записи.

  1. Ъ пишет:

    в принципе есть прикольные изменения (с сессиями хотя бы даже).

    Зы: но я Коханой не пользуюсь, пилю свой fw.

  2. Xobb пишет:

    Блина, заметил что вернулись старые добрые времена, когда я на транке 2.2 сидел. Теперь в сабмодулях master kohana core и даже не заметил что новая версия вышла.

    Добавлено свойство Request::$current, которое содержит текущий объект Request. Ранее что-то подобное было доступно только для контроллеров (свойство $this->request). Также появился метод Request::current(), который возвращает все то же свойство Request::$current.

    И сразу после этого пагинаторы правильно заработали в подзапросах ;)

  3. Zares пишет:

    А как Вы считаете, Иван, этих изменений достаточно, чтобы использовать этот фреймворк в качестве полноценного инструмента веб-разработчика?
    Если нет, то что бы Вы добавили (изменили)…

  4. Максим Нагайченко пишет:

    @Zares Всегда найдется ложка дегтя! Я юзаю его уже не на одном проекте (5000 посещ в день) и проблем не испытываю. Пока всё, что мне нужно поддерживается, если нет, пишу свой модуль.

  5. biakaveron пишет:

    @Zares
    Если рассматривать фреймворк как набор классов (код), то да — очень даже неплохой инструмент. Дополнительных модулей уже куча, практически на любой вкус. А вот с сопутствующими «ингридиентами», особенно с документацией и сайтом, уже не айс. Все-таки у солидного продукта и упаковка должна быть соответствующей :)

  6. Rihan пишет:

    Вот задумался, что изучить: Kohana 3, Yii, Zend.

    Посоветуйте, пожалуйста, какой из этих фреймворков более подходит под нагруженные проекты. Нужно сделать большой инет.магазин.

  7. biakaveron пишет:

    По аналогии можно спросить: «чем лучше добраться до соседнего города? На выбор: велосипед, мерседес и самолет.»

    Все варианты способны решить поставленную задачу, но есть нюансы :) Наверное имеет смысл проверить наличие в данных фреймворках нужных Вам модулей (авторизация с использованием сторонних сервисов, платежные системы и т.д.), распространенность среди программистов (или Вы сами будете писать?) и т.д.

    PS. По поводу размера магазина — я знаю проект на Kohana, который держит ~20000 посетителей в сутки (> 100k просмотров) .

  8. Rihan пишет:

    biakaveron, спасибо.
    Писать буду сам. В том то и дело, что в этих фреймворках есть все нужное. Дефицита функционала не наблюдается.

    Наверно, главными критериями будут: мануалы, скорость, развитие.

    Зенд — будет развиваться и существовать, пока есть php. С мануалами так же все в порядке. Но по отзывам, из-за большого количества инклюдов, на серьезных проектах, приходится шаматить уже с самим фреймворком.

    Про Yii, могу сказать только, что развивается и маны есть добротные.

    Про кохану, могу сказать, что код понравился. Легко читаем.

    Собственно, на этом и остановился. И пока не знаю куда копать.



Можно включить подсветку кода: <code><pre lang="">...</pre></code>
Разрешены некоторые HTML теги

или используйте trackback.