下载源码包,解压到虚拟目录,我的目录是/var/www/workspace
修改application/bootstrap.php文件,找到:
Kohana::$environment = constant('Kohana::'.strtoupper($_SERVER['KOHANA_ENV']));
修改为适合你的方式:
Kohana::$environment = ($_SERVER['SERVER_NAME'] !== 'localhost') ? Kohana::pRODUCTION : Kohana::DEVELOPMENT;
或直接指定:
Kohana::$environment = Kohana::DEVELOPMENT;
然后可以根据此变量,进行其他个性设置,比如url、profile、cache是否开启
Kohana::init(array( 'base_url' => Kohana::$environment !== Kohana::pRODUCTION ? '/workspace/k3/' : '/', 'profile' => Kohana::$environment !== Kohana::pRODUCTION, //开启此项,可以使用echo View::factory('profiler/stats');输出分析信息 'caching' => Kohana::$environment === Kohana::pRODUCTION, ));
还可以根据此变量,配置数据库application/config/database.php:
return array ( 'default' => array ( 'type' => 'mysql', 'connection' => array( 'hostname' => 'localhost', 'database' => 'kohana', 'username' => 'root', 'password' => Kohana::$environment !== Kohana::pRODUCTION ? '123456' : '@@##$%', 'persistent' => FALSE, ), 'table_prefix' => '', 'charset' => 'utf8', 'caching' => FALSE, 'profiling' => TRUE, ), );
然后开启需要的模块:
Kohana::modules(array( 'cache' => MODPATH.'cache', // Caching with multiple backends 'database' => MODPATH.'database', // Database access 'orm' => MODPATH.'orm', // Object Relationship Mapping 'userguide' => MODPATH.'userguide', // User guide and API documentation ));
开启userguide模块,可以浏览模块的手册,访问地址:http://localhost/index.php/guide
比官网线上的手册详细多了
好了,到此位置基本部署完毕。
二、开始使用
1.hello world!
编辑application/classes/controller/welcome.php:
<?php defined('SYSPATH') or die('No direct script access.'); class Controller_Welcome extends Controller { public function action_index() { $this->response->body('hello world!'); } } // End Welcome
2.使用ORM
a.创建数据库表:
CREATE TABLE IF NOT EXISTS `users` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `name` varchar(32) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; INSERT INTO `users` (`id`, `name`) VALUES (1, '管理员');
b.创建Models文件application/classes/model/user.php:
<?php defined('SYSPATH') or die('No direct access allowed.'); class Model_User extends ORM { }
c.编辑application/classes/controller/welcome.php:
<?php defined('SYSPATH') or die('No direct script access.'); class Controller_Welcome extends Controller { public function action_index() { $user = ORM::factory('user', 1); $this->response->body('欢迎:'.$user->name); } } // End Welcome
3.View使用
a.编辑application/classes/controller/welcome.php:
<?php defined('SYSPATH') or die('No direct script access.'); class Controller_Welcome extends Controller { public function action_index() { $user = ORM::factory('user', $this->request->param('id', 1)); $view = View::factory('welcome'); $view->bind('user', $user); $this->response->body($view->render()); } } // End Welcome
b.创建Models文件application/views/welcome.php:
欢迎:<?php echo $user->name; ?>