Задумался насчет связанного цикла статей по Ko3, впоследствии выделенных в некий туториал. Сейчас действительно начинающим приходится собирать информацию по крупицам, хотя, признаюсь, год назад информации было еще меньше.
Итак, прежде всего надо определиться с темами для отдельных статей. Необходимо охватить самые популярные вопросы, я накидал примерно такой перечень (порядок пока не важен, просто перечисляю):
- Обзор фреймворка, в частности каскадная файловая система (стандартные папки Kohana, типы файлов, принцип работы КФС). Наверное имеет смысл упомянуть про github? Содержимое файла
.htaccess
,index.php
иbootstrap.php
- MVC. Создание простейшего контроллера и представления. Модель пока оставляем в стороне — до обзора DB. HMVC.
- Роутинг
- Модули для Kohana (стандартные модули, подключение).
- Конфиги.
- Database. Теперь можно и модели разобрать.
- Валидация
- ORM
- Использование различных классов и модулей (тут разобрать работу cache, cookie, session, arr и т.д.), которые обязательно пригодятся в первые часы работы с фреймворком
- Auth
- i18n (точнее
i18n
иmessages
) - Подключение внешних библиотек (папка
vendor
иKohana::find_file()
). - Поиск и исправление ошибок (
Profiler
, логи и методы типаKohana::debug()
). Обработка исключений вKohana
.
Что-то еще, ничего не забыл? Предполагаю, что наиболее эффективным будет написание цикла в рамках создания некоего приложения, по традиции наверное будет блог. К примеру, после разбора модуля Auth в блоге появится авторизация, а знание роутинга даст возможность реализовать ЧПУ. Каждая статья цикла будет публиковаться тут отдельно, дабы можно было собрать неизбежные замечания и предложения. Потом наверно можно будет и какой-то pdf оформить для оффлайн чтения, если конечно «вылупится» что-то интересное.
Почему 3.0, а не 3.1 ?
К нашему недавнему спору — а какая именно ветка коханы будет использоваться? Ведь Database, Request, Validation уже сильно поменялись в 3.1.
И по поводу MVC — модель надо объяснять вместе с контроллером и вьюшкой. Модель — это же не обязательно работа с базой, да и отделять M от VC было бы не правильно.
Почему Auth выделен из стандартных модулей?
> 13. Поиск и исправление ошибок, обработка исключений
Я бы засунул это намного выше, пункт так в третий. Плюс рассказал бы об обработке популярных http ошибок типа 404, 500.
Я бы добавил ещё в самый вверх, рассказ про класс Request саму идеологию HMVC.
Возможно что ты про это говорил во втором пункте, но забыл упомянуть Request
Отдельным пунктом я бы вынес работу с github, и потом общение внутри сообщества кохана разработчиков.
Про github всё ясно — как скачивать код, делать форки, развивать свою ветку.
Про сообщество — тут уже интереснее вопрос, нам нужно рассказать о том как писать об ошибках на форуме, как правильно оформлять тикеты, делать «Pull Request» для чужих модулей. Помощь в написании руководства.
Ну и конечно, идеальный вариант — это когда руководство разбито по шагам, при этом получившийся результат за каждый шаг можно скачать с github.
Т.е. если и будет где-то глюк, что бы человек нашёл его самостоятельно в коде. И отправил сообщение об ошибке
Статьи лучше всего писать на github в формате md. И потом, можно было бы оформить и PDF и userguide подключить, для просмотра справки онлайн.
@bri
Хотя бы потому, что 3.1 стабильной еще нет На самом деле, имея законченный тут по 3.0, переделать его под 3.1 не так уж и сложно.
@aktuba
1. Заголовок говорит, что 3.0
2. В 3.0 модель содержит объект Database, хотя конечно не обязана его использовать. Возможно, модель впихнем и в общий обзор MVC, например используя массив данных в качестве заглушки…
3. Auth достаточно сложный модуль. И если в практической части надо будет прикрутить регистрацию/авторизацию и т.д., то это запросто выльется в отдельную тему.
@ukko
1. Да, порядок еще десять раз может поменяться, он пока не важен. Еще перетасую.
2. Обязательно расскажем про Request. Сам не люблю, когда статьи о работе HMVC в Ko3 заканчаваются однострочечными вызовами Request::factory($url)->execute();
3. На самом деле насчет github’а я все еще сомневаюсь — этот пункт скорее для более опытных разработчиков, но никак не для начинающих.
4. Насчет публикации на github’е — это мысль. Даже наверное сразу в формате userguide’а. Только вот надо думать, как оформлять в плане i18n (чтобы потом безболезненно переводить на другие языки)…
голосую за 3.1. По 3.0 все материалы уже в сети легко гуглятся.
+1 за 3.1 как за самую прогрессивную версию на данный момент. Она feature-locked, и к тому же документация после релиза будет актуальна как никогда
Kohana 3.0 — отработанный тестовый материал, есть-ли смысл в его изучении
Хм… честно говоря, думал создавать туториал, опираясь на имеющиеся стабильные релизы ветки 3.0.x, а не по RC С другой стороны, API действительно заморожен, наверное имеет смысл переключиться на актуальное.
Есть ли у вас возможность при обзоре фремворка немного сранить с другими фреймворками(именно с Yii). Мне интересно ваше мнение.
Вообще, огромное спасибо за ваши труды.
Иван, а не хочешь рассмотреть вариант с освещением разработки обсуждаемого на форуме сайта для модулей? Думаю, там будет достаточно моментов, которые можно было бы взять за практическую основу для твоего туториала с переходом от уровня «новичок» к «продвинутому». Неоторванная от реальности ситуация и со своими подходами в решении нетривиальных задач, где можно будет показать всю гибкость и мощь фреймворка…
Или ты хочешь реализовать давнюю цель о собственном форуме с блекджеком и весёлыми помощницами?:)
Ага, я о том же днем подумал Задачи там будут примерно те же.
Жду туториал с нетерпением, спасибо Иван.
Еще хотелось бы услышать про методы дебага, например http://www.demarsh.org.ua/blog/tools/28.html если это еще используется.
@Farhodjon
Для этого надо располагать знаниями по этим самым фреймворкам, а также каким-никаким практическим опытом. Опять же, это все равно будет субъективное мнение, которого в туториалах желательно избегать.
@AeR
Обязательно. Это одна из составляющих пункта №13
Начинайте поскорей пожалуйста.
Хочу поблагодарить за качественные материалы по Кохане. Я сейчас начал изучать этот фреймворк, ваш блог по плотности полезных вещей просто зашкаливает. Спасибо вам огромное !
Присоединяюсь к мнению, что писать туториал надо опираясь на ветку 3.1.
@Деня
Ну, сам проект мы вроде как начали проектировать )) Глядишь, скоро и программить станем…
@medar
Да не за что. Да, будем юзать 3.1, и писать соответственно тоже.
>Да не за что. Да, будем юзать 3.1, и писать соответственно тоже.
Как чувствовал, спросил же =).
в первую очередь нужна статья переход с 3.0 на 3.1
что-то вроде http://erosbence.blogspot.com/2011/01/request-execution-in-kohana-31.html
чтобы ввести в курс дела тех, кто уже пользует кохану. Возможно тем самым заинтнересовать их. Если привлечь уже более или менее опытных программеров, можно рассчитывать на толковые замечания и комменты к статьям. Возможно кто-то откликнется и напишет свою и разместит её на этом ресурсе. В итоге получиться неплохое местечко для сообщества раша спикинг.
наткнулся на http://brotkin.ru/2011/01/10/ko-31-rc1/ . именно об этом я и писал.. оказывается уже такой пост есть )) я как вновь попавший на этот ресурс могу только похвалить основателя сайта.. и спасибо всем кто здесь собрался.. всегда хорошо когда есть единомышленники.. и когда им есть где собраться )
Хотелось бы видеть в туториале многопользовательский блог по полной использующий встроенный ORM.
Пользователи могут залогиниться, создавать посты, комментировать друг друга.
Это на мой взшляд опишет 90% всех задач типовых проектов.
Планируется, что цикл статей будет написан по мотивам разработки сайта kohana-world.com. Хотя, возможно, задача будет слишком специализированной, и туториал буду писать с нуля — время покажет. В kohana-world смущает использование Jelly, тогда как для нужд учебника хотелось бы стандартный ОРМ.