Балуюсь в кохану 17.12.2024
Всем добрый вечер!
Буду баловаться коханой. Это такой PHP фреймворк см. https://ru.wikipedia.org/wiki/Kohana.
Я установил её тут C:\xampp\htdocs\koh
Вызываю в веб браузере http://localhost/koh/public/
Отображается в браузере следующее:
Environment Tests
The following tests have been run to determine if Kohana will work in your environment. If any of the tests have failed, consult the documentation for more information on how to correct the problem.
PHP Version | 7.4.2 |
---|---|
System Directory | C:\xampp\htdocs\koh\system\ |
Application Directory | C:\xampp\htdocs\koh\application\ |
Cache Directory | C:\xampp\htdocs\koh\application\cache\ |
Logs Directory | C:\xampp\htdocs\koh\application\logs\ |
PCRE UTF-8 | Pass |
SPL Enabled | Pass |
Reflection Enabled | Pass |
Filters Enabled | Pass |
Iconv Extension Loaded | Pass |
Mbstring Not Overloaded | Pass |
Character Type (CTYPE) Extension | Pass |
URI Determination | Pass |
✔ Your environment passed all requirements.
Remove or rename the install.php
file now.
Optional Tests
The following extensions are not required to run the Kohana core, but if enabled can provide access to additional classes.
PECL HTTP Enabled | Kohana can use the http extension for the Request_Client_External class. |
---|---|
cURL Enabled | Pass |
OpenSSL Enabled | Pass |
Mcrypt Enabled | Kohana can use the Mcrypt extension for the Encrypt class. |
GD Enabled | Pass |
PDO Enabled | Pass |
Теперь нужно удалить в папке C:\xampp\htdocs\koh\public файл install.php.
Теперь в браузере я перехожу по ссылке http://localhost/koh/public/index.php/welcome и вижу на экране
hello, world!
Вот код Welcome.php:
<?php class Controller_Welcome extends Controller { public function action_index() { $this->response->body('hello, world!'); } }
Теперь давайте изменим код.
1. В папке C:\xampp\htdocs\koh\application\views добавим файл main.php,и напишим следующее:
<!DOCTYPE html> <html> <head> <title><?=$title; ?></title> </head> <body> <div><?=$content; ?></div> </body> </html>
2. А файл C:\xampp\htdocs\koh\application\classes\Controller изменим так:
<?php class Controller_Welcome extends Controller { public function action_index() { $this->response->body(View::factory('main', array('title' => 'Title', 'content' => 'Hello World!'))); } }
3. Вызовем в браузере так, вуаля!:
2. А файл C:\xampp\htdocs\koh\application\classes\Controller изменим так:
Точнее файл C:\xampp\htdocs\koh\application\classes\Controller\Welcome.php.
Давайте побалуемся с переводом/i18n.
Для перевода нужно следующее сделать:
1. В папке C:\xampp\htdocs\koh\application\i18n добавить файлы языков.
2. У нас их будут 2 файла один de.php, а другой en.php:
Вот файл de.php:
<?php return array('label1' => 'Das ist ein Text:');
А вот файл en.php:
<?php return array('label1' => 'This is a text:');
3. В файле C:\xampp\htdocs\koh\application\views\main.php нужно написать следующее:
<!DOCTYPE html> <html> <head> <title><?=$title; ?></title> </head> <body> <div><?php echo __('label1'); ?><?=$content; ?></div> </body> </html>
4. В файле C:\xampp\htdocs\koh\application\classes\Controller\Welcome.php надо написать следующее:
<?php class Controller_Welcome extends Controller { public function action_index() { I18n::lang('de'); $this->response->body(View::factory('main', array('title' => 'Title', 'content' => 'Hello World!'))); } }
5. Вуаля! Результат Das ist ein Text:Hello World!:
Но если мы напишем так:
<?php class Controller_Welcome extends Controller { public function action_index() { I18n::lang('en'); $this->response->body(View::factory('main', array('title' => 'Title', 'content' => 'Hello World!'))); } }
То будет так This is a text:Hello World!:
Я коханой начал баловаться в 2010-2012 гг., т.к. хотел сильно устроится на работу. Но мне слали сплошные отказы.
Вообще кохана с Украинского переводится как любимый. А кохана мне очень понравилась. Если что кохана это PHP библиотека поэтому она, но можно называть фреймворком, тогда он, а не она. Но мне нравится она называть, т.е. библиотекой.
Вообще я учился программировать на кохане на этом ютуб канале https://www.youtube.com/watch?v=kxBnXc6Nh_w&list=PLE9227E1.... После того как изучил кохану, смог освоить Yii, немножко Symfony, и ASP NET MVC. И создал свой PHP MVC фреймворк, похожий на фреймворк кохана.
Короче продолжим. Спомощью метода I18n::lang устанавливаем язык, допустим если нужно вызвать немецкий то I18n::lang('de');, а если английский то I18n::lang('en'); Кохана читает из файлов если на немецком то de.php, а если на английском то en.php. А во вьюшки отображаем спомощью <?php echo __(тут текстовка); ?> допустим <?php echo __('label1'); ?>