kohana first cake

下载源码包,解压到虚拟目录,我的目录是/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; ?>

你可能感兴趣的:(kohana)