Внимание: данный сайт находится в процессе формирования базового контента - уроков по PHP фреймворку Kohana. Сайт создаётся "для себя" и "как для себя" - что означает повышенные требования как к наглядности, так и работоспособности всех примеров этих уроков. Уроки строятся на базе Kohana 3.2 - наиболее актуальной версии на момент написания. За основу взяты переводы Антона Панкова ( http://prowebportal.com/blog/anton-pankov.html ) ( http://prowebportal.com/blogi/kohana-php/obuchalka-po-kohana-php-3.0-ko3-chast-1.html ) Необходимость в исправлении огромного количества ошибок и неточностей в процессе работы и исходной публикацией, а так-же существенные изменения в коде при переходе к версии 3.2 привели меня к мысли создать свою версию этих уроков и заодно в процессе их создания как следует выучить и закрепить изученный материал. Основной причиной всего этого является моё давнее неумение усвоить принципы и основы ООП. Так, что, как говориться: "Не было бы счастья, да несчастье помогло!" Очень надеюсь, что полученный мною в результате всего этого материал поможет вновь прибывшим в интернет для изучения основ программирования на базе PHP фреймворка Kohana 3.2 и более поздних версий по мере их появления. Как пишет автор оригинального пособия на английском языке: "Удачного Кодинга!"

воскресенье, 18 сентября 2011 г.

Kohana Урок первый - установка и знакомство

Kohana 3.2


По материалам сайта prowebportal.com (ru) и dealtaker.com (en)

Примечание: везде в тексте, где встречаются адреса вида http://localhost/* вы можете использовать адреса вида http://127.0.0.1/* либо http://YOURHOSTNAME/* где YOURHOSTNAME - имя вашего компьютера в сети.
Все варианты полностью эквивалентны и не сказываются на работоспособности примеров.
Для редактирования соответствия имени хоста локальному адресу 127.0.0.1 и его символьному синониму localhost необходимо отредактировать файл hosts.
В операционной системе MS Windows этот файл расположен по адресу *.
В линукс как правило *.

Проверьте, есть ли у вас всё необходимое для эффективного обучения.
Вот, основные требования:

*AMP (Apache MySQL PHP)
Знание PHP
Знание что такое фреймворк
Знание что такое MVC

Загрузка:

Скачайте последнюю Kohana 3.2 и разархивируйте в любое место.

Установка:

распакуйте скачанный файл в текущую директорию.

в моём случае при распаковке была создана директория "kohana-3.2-master-1".

Откройте эту папку. Откройте новое окно и корневую папку вашего *AMP. В последний раз когда я использовал WAMP сервер путь выглядел так “C:\wamp\www\”.

создайте новую папку “mykohana3″. Скопируйте файлы из “kohana-3.2-master-1” в “mykohana3″. Проверьте что ваш *AMP работает, а затем введите в вашем браузере “http://localhost/mykohana3/”. Все должно быть “OK” и работать.

Если всё “OK”, переименуйте в папке “mykohana3" файл “install.php”.


Далее откройте файл “example.htaccess” и измените следующую строку:

RewriteBase /

на:

RewriteBase /mykohana3/

И сохраните файл как “.htaccess”.

Далее откройте “bootstrap.php”. Файл находится в папке “application” и измените следующую строку:

Kohana::init(array('base_url' => '/'));

на:

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

Сохраните и обновите браузер. У вас должно получится что-то вроде “hello, world!” на вашем экране.

Давайте сделаем наш первый контроллер.

Откройте новый документ и введите в него:

defined('SYSPATH') or die('No direct script access.');
class Controller_Ko3 extends Controller
{
	public function action_index()
	{
		$this->response->body() = 'My First Kohana 3.2 Controller';
	}
}

Сохраните как “ko3.php” в папке “application/classes/controller”. Вы могли заметить еще одно отличие от Kohana 2.3.x. В 3.2 немного другая структура каталогов, хотя на самом деле это не такое большое отличие. Теперь, когда вы сохранили, введите в браузер “http://yourhost/mykohana3/ko3″. На экране должно высветиться “My First Kohana 3.2 Controller”.

Вот объяснение кода.

defined('SYSPATH') or die('No direct script access.');

Эта строка говорит PHP не открывать этот файл напрямую. Он может быть введен только, через фреймворк.

class Controller_Ko3 extends Controller

Создает контроллер, который является расширенным классом контроллеров, которые являются частью фреймворка.

public function action_index()

Создает метод под названием “action_index”. Метод “action_index” стандартное действие, которое выполняется фреймворком. Это как файл index.php.

$this->response->body() = 'My First Kohana 3.2 Controller';

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


Если вы хотите добавить дополнительное действие в ваш контроллер – вам следует добавить другой метод с префиксом "action_" и дать доступ через “http://localhost/mykohana3/controller/action


Давайте пойдем дальше и добавим новый метод в наш “ko3″ контроллер добавлением следующего “action_index” метод:

	public function action_another()
	{
		$this->response->body('Another action');
	}

Сохраните файл и запустите его через браузер “http://localhost/mykohana3/ko3/another”. Если вы всё сделали правильно, вы увидите надпись "Another action" на вашем экране.

давайте сделаем его более динамичным!

Скопируйте этот код и поставьте после “action_another” method:

	public function action_dynamic()
	{
		$param = $this->request->param();
		$say = $param['id'];
		$this->response->body('You said: '.$say);
	}

Сохраните и загрузите “http://localhost/mykohana3/ko3/dynamic/Monkey” и вы увидите “You said: Monkey

Ждите продолжения, удачного вам кодинга!

Использованы материалы: Unofficial Kohana 3 Wiki

Часть 2 >>