О сайте

Комментарии: 139  Просмотры: 357 057

Здравствуйте. Если вы попали на этот сайт, значит вы интересуетесь фреймворком Kohana (Кохана) и хотите научится создавать на нем сайты. Я постараюсь вам в этом помочь. На сайте представлены как пошаговые руководства разработки, так и документация (переведенный мануал) последней стабильной версии фреймворка — Kohana v3.2.0.

Что такое фреймворк ?

Фреймворк — это каркас сайта, который позволяет ускорить процесс разработки, т.е. не писать какие-то повторяющиеся участки из проекта в проект, а сделать основной упор именно на логике. Если вы достаточно давно занимаетесь веб-разработкой, то у вас определенно есть какие-то готовые классы или функции, которые вы используете в своих проектах. Такой вот набор готовых к использованию библиотек — это по сути и есть фреймворк. Но любой разработчик, с ростом опыта, приходит к выводу, что его старый код (фреймворк) никуда не годится и его надо переделывать. Так почему не использовать сразу уже готовый фреймворк, такой как Kohana, который к тому же написан очень грамотно.

Что же такое Kohana ?

Kohana — это веб-фреймворк с открытым кодом, основанный на PHP5 и использующий концепцию HMVC (Hierarchical Model View Controller — Иерахические Модель-Вид-Контроллер). Его основные цели — быть безопасным, легким и простым в использовании, и это действительно так.

Немного истории (материал из Википедии)

Kohana был создан как ветвь PHP фреймворка CodeIgniter. Первоначально он был известен под названием Blue Flame. Основной причиной форка («расщепления» на два отдельных проекта) был переход к более открытой для общественности модели разработки, из-за того, что многие пользователи были недовольны скоростью разработки и исправления ошибок в CodeIgniter. Rick Ellis — создатель и владелец CodeIgniter — был счастлив видеть форк своего проекта, но помогать отказался. Он подтолкнул новый проект к созданию собственной документации и посоветовал переименовать проект. В июле 2007года Blue Flame был переименован в Kohana для того, чтобы избежать проблем с авторскими правами в будущем.

Название Kohana было выбрано, когда разработчики начали просматривать словари коренных американцев, чтобы выбрать слово не нарушающее авторские права. Kohana на языке Сиу значит «быстрый». Также на японском языке имеет значение «маленький цветок», а на украинском «любимая» и имя известной косатки (Kohana) — все это не имеет никакого отношения к названию.

Особенности

  • Высокая скорость работы
  • Безопасность
  • Использование возможностей PHP5
  • Большое количество встроенных инструментов
  • Простота понимания
  • Использование концепции HMVC
  • Полная совместимость с UTF-8

Для того, чтобы уметь работать с фреймворком, нужно понимать его структуру ну и конечно знать его классы и методы. Собственно этому и посвящен данный сайт. Совершенно необходимо, чтобы вы знали PHP на уровне ООП (хотя бы начальном), а также понимали что такое MVC. Если у вас с этим проблемы, вы можете сначала изучить все это, например, Здесь. Если начальные знания у вас имеются, то приступайте к чтению. В разделе Документация находится переведенный официальный мануал Коханы. В разделе Модули будут выкладываться дополнительные библиотеки для фреймворка, а также рассказываться, как их подключать в своем проекте. Лучше всего начинать с раздела Для начинающих и далее по списку. Ну и конечно же добавьте этот сайт себе в закладки, так как информация на нем будет постоянно обновляться и пополняться.
Предоставленные здесь материалы — это своего рода сборка из переводов англоязычной литературы по фреймворку, видеокурсов и собственных размышлений.

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

Фреймворк Kohana v3.2. Документация. Обучение

Желаю легкого обучения.


К записи оставлено 139 коммент.

Привет всем, у меня есть проблема на
хостинге не работает роутинг у kohana 3.2
только маршрут по умолчанию работает при запуске любой навигации являются возвращение ошибку 500 Htaccess

что в логе написано ?
если cannot compile regular expression, то к хостеру.

я на днях столкнулся с подобной проблемой — оказалось у хостера старая версия Апача(но сам реврайт работает)
пришлось дорабатывать htaccess файл под Апач1

решение наше на stackoverflow
RewriteRule ^(application|modules|system)/ — [F,L]
вместо
RewriteRule ^(?:application|modules|system)\b — [F,L] (Это дает ошибку 500)

RewriteRule .* index.php [L]
вместо
RewriteRule .* index.php/$0 [PT] (а это дает ошибку No input file specified message.)

Да уж. Прямо хоть в FAQ выноси. Очень много вопросов идет именно по работе ссылок и настройке .htaccess. Хотя это к Кохане имеет косвенное отношение.

Здравствуйте,
напишите пожалуйста руководство по кэшированию. Хотя бы кэширование статики. Очень хочется узнать подробности и хитрости.

Обязательно. Но всему свое время.

Почему на интернет експлорере Auth::login($email,$pass) не работает?

На локалхосте ? У меня такая же проблема была только в осле и только на локалхосте. Не работала авторизация и капча тоже не работала. Потом как-то само починилось и поэтому я так и не узнал причину этого.
Но по всей видимости не ставилась кука.

Да, на локалхосте. Помоему тоже не ставится куки. В базе данных в колонку login добавляется единица.
А другие фреймворки работают нормально. Например зенд-ом можно залогинится. Низнаю в чем проблема

Да. тоже самое было. Я думал это у меня только такой глюк. Забавно. Я тогда спешил с проектом, поэтому не ковырял сильно, думал потом посмотреть. А оно потом как-то само починилось, в итоге так и не узнал из-за чего. Сейчас на двух проектах на локалхосте проверил, все работает. И капча и авторизация. Мистика.
P.S. Спрашивал у одного шарящего человека-он тоже не знает

Закинул на реальный сервер, сработала все нормально

Что-то ваш календарь обновлений на феврале заклинило.

спасибо, поправил

Сорри, так с чего лучше начинать с «Документация» или «Для начинающих»?

Подскажите пожалуйста, есть ли для коханы что то типа SEO модуля. При первом знакомстве мне с фреймворком мне все нравиться, но начинаю задумываться что URL и мета теги нужно закладывать сразу, дабы избежать тотального редактирования в дальнейшем…

«Для начинающих».
Про СЕО-модуль не слышал, да и вряд ли он есть, это же не цмс. Такой модуль можно написать самому при создании админки.

А новости в разделе «Обновления» можно сделать кликабельными?
И у меня уже третий раз слетает пароль на вход.

Новости сделаю. А пароль в каком смысле слетает ? Куки может удаляете ?
У меня ничего не слетает.

В смысле уже трижды пришлось «забыли пароль» делать

Т.е. вы вводите пароль, а его не принимает ?

Более 100 человек зарегистрировано, пожаловались пока только вы. В любом случае в будущем планируется переход на другой движок.

Здравствуйте! А что с форумом? Ни как не могу попасть!

Уже работает. Хостер…

Спасибо за уроки!

Не могу что то разобраться с модулем Auth, через ORM.
Раскомментил модуль ORM, auth в bootstrap.php, скопировал файл конфигурации auth.php в папку application/config/ сделал след настройки в нём:

return array(

‘driver’ => ‘orm’,
‘hash_method’ => ‘sha256′,
‘hash_key’ => ’11415′,
‘lifetime’ => 1209600,
‘session_type’ => Session::$default,
‘session_key’ => ‘auth_user’,

// Username/password combinations for the Auth File driver
‘users’ => array(
// ‘admin’ => ‘b3154acf3a344170077d11bdb5fff31532f679a1919e716a02′,
),

);

пробую регистрацию в произвольном модуле (articles — action_index)

$user_data = array(‘username’ => ‘Kolya’, ‘email’ => ‘mail@mail.ru’, ‘password’ => ’11sdf51′);
$user = ORM::factory(‘user’)
->create_user($user_data, array(‘username’, ‘email’, ‘password’)) // Регистрируем пользователя
->add(‘roles’, ORM::factory(‘role’, array(‘name’ => ‘login’))); // Добавляем роль login

лезет куча ошибок, регистрации нет((

В чём беда?

Модуль database тоже раскомменчен ? Для работы ОРМ он тоже нужен.
Может все-таки на форум ? Тут какая-то каша получилась. Больно смотреть (

database тоже раскомменчен)) В какую тему написать? Там заново надо регистрацию сделать?

Зарегался, создал тему, думаю найдёте))

Вот упорно вы не хотите рассказать про два важнейших момента сайтостроения — страницу ошибок и форму обратной связи. Без всего того, что вы описывали в десятке последних уроков, как то хелперы, квери-билдеры,пагинаторы, простенький сайт существовать может, а вот без этих двух фундаментальных вещей — ну никак.
Конечно хозяин-барин…
Но позиция ваша непонятна.

А конкретнее ? Форма обратной связи — это что ? Отправка сообщения владельцу сайта на е-мейл ?
Вот
http://kohanaframework.su/modules/email
У меня на одном из сайтов стоит форма, основанная на данном модуле. Все великолепно доходит.
А обработку ошибок — это каких ? Про это ?
http://forum.kohanaframework.su/viewtopic.php?f=32&t=43
Или про валидацию введенных пользователем данных ?
Если про валидацию, то ее пока можно делать и стандартными методами. Через if и наполнение массива ошибок. А про validate я планировал как раз вот начать рассказывать, т.к. без этих знаний толком нельзя работать с orm.

Ой, с E-mail модулем я протупил — не заметил. Очень извиняюсь и благодарю.
С преогромным нетерпением ожидаю ваших уроков по ORM. Еще раз большое спасибо за то что делаете.

Ничего страшного. Тут трудно определиться, в каком порядке следовать :) Не расскажешь про те же хелперы, пишешь-пишешь сайт, а потом тебе говорят «Вот тут, тут и тут зачем так написал ? Есть же хелпер. Зачем ты изобретаешь велосипед ?». И приходится или оставлять свой г-код или везде по сайту заменять :) У меня так было.
Сейчас думаю по валидации пробежаться, потом перейдем к орм.



Оставить комментарий или два

Пожалуйста, зарегистрируйтесь для комментирования.