Множество вопросов, чтобы ответить здесь, я буду стараться изо всех сил.
Знаете ли вы примеры из реальной жизни приложений, "загруженных базой данных", таких как каталоги, онлайн-сообщества ... с областью входа, построенной на Kohana 3, где я мог бы взглянуть, как они это делают?
Есть несколько примеров приложений. Вуди Гилк (основатель Kohana) опубликовал код на своем персональном веб-сайте на github . Для области входа он назначает значение cookie. Kohana 3 / 2.4 подписывает файлы cookie, что делает их безопасными и устраняет необходимость проведения сеансов. Это может быть не всем по вкусу, поэтому вы всегда можете использовать встроенную библиотеку аутентификации, которая использует как сеансы, так и файлы cookie.
Вот некоторые другие проекты, которые могут вас заинтересовать:
- Shindig - Легкий модуль блога для кохана 3
- Kohanut - Расширяемая CMS, написанная на Kohana 3
Существуют ли соглашения или передовые практики о том, как структурировать расширяемую область входа для конечных пользователей в проекте Kohana, который может обрабатывать не только страницу бизнес-каталога, но и другие продукты на отдельных страницах?
Если я правильно вас понимаю, вы хотите создать окно входа для каждой из этих страниц? Это легко сделать с Kohana 3, поскольку мы можем воспользоваться преимуществами H в HMVC. Сэм де Фрессинет написал статью о техническом блоге iBuilding. Масштабирование веб-приложений с помощью HMVC .
Затем вы можете выполнить внутренний запрос к контроллеру входа или выполнить действие и вывести ответ на страницу просмотра.
$login = Request::factory('login')->execute()->response;
$ login теперь содержит форму входа в систему, которую вы можете разместить где угодно. Возможно, вы захотите вернуть другой ответ, если запрос является внутренним, поэтому этот фрагмент кода может быть полезен:
if (Request::instance() !== $this->request)
{
print 'Internal called made with Request::factory';
}
Знаете ли вы какие-нибудь хорошие ресурсы по созданию сложных приложений с помощью Kohana?
Там не будет документации, показывающей, как создавать сложные приложения. По мнению сообщества Kohana, вы являетесь разработчиком PHP и должны решить эти проблемы самостоятельно. Если вы не можете, тогда вам не следует использовать коану.
Вы построили нечто подобное и могли бы дать мне рекомендации по структуре проекта?
Как только вы поймете, как Kohana 3 находит файлы, все легко понять.
|- classes
|-- controller
|-- model
|- views
Например:
Controller_Mathew extends Controller
Будет искать файл с именем mathew.php
в:
classes/controller
Подчеркивания могут использоваться для указания более глубоких каталогов. Пример: * 1 059 *
Controller_Mathew_Davies extends Controller
будет искать файл с именем davies.php
в:
classes/controller/mathew/
Как видите, подчеркивания в имени контроллера действуют как разделители каталогов. Это звучит правдоподобно для моделей и классов ванили.