Pull to refresh

Знакомство с Kohana 3.0 — Часть 1

Reading time 3 min
Views 7.4K
Original author: ellisgl
Давайте вначале убедимся, что у нас есть все необходимое:
  • установленные Apache, MySQL, PHP
  • знание PHP
  • знание понятия “фреймворк
  • знание понятия “MVC

Поехали!

Скачать:
Скачайте последний релиз Kohana 3.0 (на момент написания: 3.0.9)

Установить:
Распакуйте архив в любую временную папку. Откройте ее, там должна быть директория “kohana” или вроде того. Переименуйте эту директорию в “mykohana3” и переместите ее в корневую папку вашего веб-сервера. Поскольку я использую WAMP Server – у меня это “C:\wamp\www\”. Далее откройте в браузере “http://localhost/mykohana3/”. Должна отобразиться страница, уведомляющая, что все тесты пройдены успешно.

Если все в порядке, то удалите или переименуйте файл “install.php” в папке “mykohana3”. Затем откройте в текстовом редакторе “example.htaccess” и измените следующую строку:
RewriteBase /kohana/

на:
RewriteBase /mykohana3/

Сохраните его как “.htaccess”.

Теперь откройте файл “bootstrap.php”, который находится в папке “application” и измените:
Kohana::init(array('base_url' => '/kohana/'));

на:
Kohana::init(array('base_url'  => '/mykohana3/',
                   'index_file'=> ''));


Сохраните этот файл и обновите страницу в браузере. Должна появиться строка “hello, world!”.

Теперь приступим к созданию нашего первого контроллера! Откройте новый документ и поместите туда следующее:
<?php
defined('SYSPATH') or die('No direct script access.');
 
class Controller_Ko3 extends Controller
 {
    public function action_index()
     {
        $this->request->response = 'My First Kohana 3.0 Controller';
     }
 } // End

Сохраните его как “ko3.php” в папке “application/classes/controller”. Откройте в браузере “http://localhost/mykohana3/ko3″. Вы должны увидеть “My First Kohana 3.0 Controller” на экране.

Теперь пройдемся по коду.
defined('SYSPATH') or die('No direct script access.');

Строка выше запрещает обращаться к файлу напрямую. Он только может быть вызван из фреймворка.
class Controller_Ko3 extends Controller

Здесь создается контроллер, который представляет собой класс, наследующий Controller – встроенный класс фреймворка.
public function action_index()

Тут создается метод “action_index”. Он запускается фреймворком по умолчанию при вызове контроллера. Наподобие того как index.php запускается при открытии сайта в браузере.
$this->request->response = 'My First Kohana 3.0 Controller';

Это выведет на экран “My First Kohana 3.0 Controller”. По сути работает как “echo”.

Пока довольно легко, правда? Теперь, если вы захотите добавить в контроллер другой экшен, нужно создать public метод с префиксом “action_”. Чтобы обратиться к нему, откройте “http://localhost/mykohana3/{контроллер}/{экшен}”

Давайте создадим новый метод в контроллере “ko3″, добавив следующий блок после метода “action_index”:
public function action_another()
 {
    $this->request->response = 'Another action';
 }

Сохраните файл и откройте в браузере “http://localhost/mykohana3/ko3/another”. Должна появиться надпись “Another action”.

Теперь добавим немного интерактивности!

Скопируйте этот код и вставьте его после метода “action_another”:
public function action_dynamic($say)
 {
    $this->request->response = 'You said: '.$say;
 }

Сохраните файл и откройте в браузере “http://localhost/mykohana3/ko3/dynamic/Monkey”. Должна появиться надпись “You said: Monkey”

Постскриптум:
Это — перевод чужого материала.
Это — перевод чужого материала человеком, который только начинает изучать фреймворк.
Это — только первая часть знакомства.
Tags:
Hubs:
+24
Comments 37
Comments Comments 37

Articles