欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

PHP HMVC框架kohana 总结1

程序员文章站 2024-01-25 21:49:40
...
PHP HMVC框架kohana 小结1

之前kohana 3的安装见:http://jackyrong.iteye.com/admin/blogs/1186006
1 在bootstrap中设置开发模式:
Kohana::$environment = Kohana::DEVELOPMENT;
再增加如下代码:
if (isset($_SERVER['KOHANA_ENV']))
{
Kohana::$environment = $_SERVER[?KOHANA_ENV?];
}
相关的值有:
PRODUCTION, STAGING, TESTING, and DEVELOPMENT.


2 设置时区
date_default_timezone_set('America/Chicago');
3 启用相关的module
Kohana::modules(array( 中的注释按需要打开

4 创建默认的config文件(这点比CI差了)
在application\config下设置一个比如site.php的文件,放置日常用的变量,比如:
return array(
'name' => 'Egotist',
'tag_line' => "Let's talk about me!"
);
则获得其变量时,这样:
$site_config = Kohana::config('site');
$site_name = $site_config['name'];
$tag_line = $site_config['tag_line'];
甚至可以这样只加载其中的某个变量:
$site_name = Kohana::config('site.name');

也可以数组的形式加载变量,比如:
return array(
'name' => 'Egotist',
'details' => array(
'tag_line' => "Let's talk about me!",
'alt_tag_line' => "Today's subject: ME!";
);
);
 加载:
   $site_config = Kohana::config('site');
// Echo site name and details
echo $site_config['name']; // Egotist
echo $site_config['details']['tag_line'] // Lets talk about me!
echo $site_config['details']['alt_tag_line'] // Today's subject: ME!
  也可以:
echo Kohana::config('site.details.tag_line');

5 controller的命名规范,必须符合如下
Controller_xxxx,XXX放在classes/controller/xxx.php,比如
Controller_User_Profile则为 classes/controller/user/profile.php
6 给view传递数据

controller中:
public function action_index()
{
//3.2只能用这个方法
$view = View::factory('welcome')
->set('site_name', 'Egotist')
->set('random', rand(1,10));
$this->response->body($view);
}

view中:

Welcome to


is a number between 1 and 10


也可以用bind绑定

$view = View::factory('welcome')->bind('site_name', $site_name)
->bind('random', $random);
$site_name = 'Egotist';
$random = rand(1, 10);

$this->response->body($view);

7 使用template controller
class Controller_Welcome extends Controller_Template
{
$content = View::factory('welcome')
->bind('random', $random);
$random = rand(1, 10);
$content->site_name = 'Egotist Beta';
$this->template->content = $content;
}
}

页面中直接输出:


8 设置全局变量,以方便在各页面中直接读取
View::set_global('site_name', 'Egotist Beta');
之后可以在任何view中读取:

9 在控制层中,写一个基类,保存一些基本的信息,比如CSS,JAVASCRIPT,常量可以这

样:
abstract class Controller_Application extends Controller_Template {
public function before()
{
parent::before();
View::set_global('site_name', 'Egotist Beta');
$this->template->content = '';
$this->template->styles = array();
$this->template->scripts = array();
}

其他PHP控制层文件再继承之,十分好用
PHP  HMVC框架kohana 总结1

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频