Web frameworks
Подписаться на эту рубрику по RSS
Kohana 3 CheatSheet module on GitHub
Исправил несовместимость версии 0.3 модуля с Kohana 3.0.6 и создал репозиторий на Гитхабе. Все ж действительно проще поддерживать и как-то нагляднее и прозрачнее получается, чем распространять архивом. К сожалению, не совсем хорошо знаком с Markdown, поэтому проблемы с разметкой, но надеюсь привести в приличный вид со временем.
PS Забыл сказать, что в новой версии немного расширил возможности по исключению классов из выдачи, разрешив простейшие маски имен классов (см. документацию). Ну и убрал возможность исключать директории, потому что это дублирование функционала
Модифицировал библиотеку Kohana-curl-library для использования в качестве модуля в Kohana 3. Из дополнений -- возможность множественной установки опций с использованием curl_setopt_array(), задание опций в конфигурационном файле, да некоторая (как мне кажется, обоснованная) шлифовка.
+++++++
I've modified Matt Wells' Kohana 2 Curl library to use with Kohana 3 PHP framework. Some main additions are using curl_setopt_array() for simultaneous many options setting, possibility to set options in config file. Any feedback will be appreciated.
Использование библиотек ACL и A2 с Jelly-Auth
Рубрика: Web frameworksМетки: Kohana | обучение
Дата: 10/05/2010 15:55:07
Briefly in English
In this part of Jelly-Auth Kohana 3 tutorial I try to implement ACL. To be translated.
Итак, продолжаем допиливание макета админки, сделанного на Kohana 3 с помощью расширений Jelly и Jelly-Auth. В прошлый раз мы остановились на том, что мне нужна система управлением правами доступа. Вкратце система ролей может выглядеть примерно так:
- роль 'login' позволяет пользователю логиниться в админку. Фактически, она является признаком того, что пользователь активен, а для (временной) деактивации ее можно удалять;
- роль 'user' соответствует пользователю - не администратору. Позволяет редактировать свой профиль кроме назначения ролей;
- роль 'admin' позволяет осуществлять все возможные действия, за исключением редактирования паролей пользователей (ограничение весьма условное, однако для примера сгодится);
Из уже готовых расширений для Kohana 3, позволяющих реализовать достаточно сложную систему управления правами доступа я отметил для себя A2/Acl и Aacl. Первое внедряет в Кохану Зендовскую систему управления доступом, второе же придерживается другой идеологии, позволяя автоматически задавать доступ к целым классам. И хотя последнее нравится мне гораздо больше, но я не нашел как без своих патчей реализовать вывод элементов страниц в зависимости от разрешений на доступ. Поэтому пока что буду внедрять A2/ACL.
Далее...
Попытался портировать Modified Preorder Tree Traversal со Sprig-MPTT на Jelly (для Kohana 3). Вещь нужная, т.к. деревья встречаются часто, и с ними надо работать. Сильно помогло наличие юнит-тестов, правда, пришлось переделать их под PHPUnit. Буду благодарен за критические отзывы и сообщения об ошибках. На гитхабе это мой первый репозиторий, поэтому могут быть косяки.
+++++++
I tried to port Paul Banks' Sprig-MPTT for Jelly Kohana 3 extension. I have little experience with Jelly (and unit tests helped me very much to do this work) so any feedback especially bugs and coding principles will be highly appreciated. I'm a novice on github so pardon my git issues.
Authentication using Jelly and Jelly-Auth. Part 2
Рубрика: Web frameworksМетки: Kohana | обучение
Дата: 26/04/2010 09:24:57
Russian version "Аутентификация с использованием Jelly и Jelly-Auth -- часть 2"
In this part of Kohana 3 tutorial I'll add auto-login and make some using of the role system, presented in Jelly-Auth Kohana 3 module. But at first some updates for previous part needed.
1. Instead of
$this->auth = Jelly_Auth::instance();
it would be better to use
$this->auth = Auth::instance();
to retain some code flexibilty. Thanks SpadXIII
2. The Kohana 3 ORM module is really useless here and can be unplugged. Thanks to Sezarin.
Далее...
Аутентификация с использованием Jelly и Jelly-Auth -- часть 2
Рубрика: Web frameworksМетки: Kohana | обучение
Дата: 22/04/2010 16:49:49
Briefly in English
Next part of tutorial on using Kohana 3 Jelly and Jelly-Auth (autologin, built-in role system application). Will be translated soon.
1. вместо
$this->auth = Jelly_Auth::instance();
лучше
$this->auth = Auth::instance();
Thanks SpadXIII
2. модуль ORM здесь действительно не нужен и его можно спокойно отключить (спасибо Sezarin).
Далее...
Authentication using Jelly and Jelly-Auth
Рубрика: Web frameworksМетки: Kohana | обучение
Дата: 15/04/2010 10:15:22
Russian version "Аутентификация с использованием Jelly и Jelly-Auth"
I decide to try Kohana 3 Jelly (by jonathangeiger and banks) and Jelly-Auth (by raeldc) ORM libraries for simple authentication application (consider it as tutorial). Before now I have not used ORM because of possible performance lack, but quick prototyping advantage forced me to make a try. I have to note that in Auth-like autentication some things are not very acceptable for me (e. g. storing user data in sesion), but for my purpose it is not critical.
Далее...
Аутентификация с использованием Jelly и Jelly-Auth
Рубрика: Web frameworksМетки: Kohana | обучение
Дата: 14/04/2010 15:08:15
Briefly in English
A short tutorial on using Kohana 3 Jelly and Jelly-Auth modules. English version.
Далее...
Briefly in English:
I've decided to step-by-step move from 2.3.4. to 2.4. Below the most painless (for my project) updates are described. It is step #1.
Поскольку версии Kohana 2.3.5, по-видимому, не предвидится, решил потихоньку переползать на 2.4. Бегло просмотрев изменения, понял, что оно того стоит (например, в 2.3.х класс Kohana_Core объявлен как final, то есть его затруднительно расширять, а в 2.4 уже вполне можно). Тем не менее, поскольку проект достаточно большой, буду делать не все сразу, наименее травматичным способом.
UPD Узнал о сегодняшней трагедии в Москве. Соболезную всем тем, кто потерял там своих родных и знакомых. Не сдавайтесь и не отчаивайтесь.
Апдэйт патча, который сливает использованные классы Kohana 3 в один файл и тем самым ускоряет загрузку, даже со включенным акселератором.
Что нового:
- добавлена возможность кэширования классов в соответствии с роутами. При первой загрузке создается т.н. кэш-загрузчик (preloader), который включает несколько классов, после инклуда которых становится возможным вызвать Request::instance(). Загрузчик общий для всех роутов. Последующие же классы, более специфичные для роутов, могут быть сохранены в соответствующих файлах кэша. А могут и не быть -- если отключить соответствующую настройку, будет создаваться один большой универсальный файл кэша.
- более удобное задание настроек кэширования
- сброс кэша закачкой или созданием в каталоге файла со специальным названием
- рефакторинг кода