| Status | Draft |
|---|---|
| Todo | Fill in empty topics, these should be proper code examples and not repeat general/views |
| 官方最后更新时间 | 2009/01/29 06:32 |
详细的视图概述请参阅:General/Views。
创建视图库的初始化
$view = new View('welcome');
这里有几种方法传递数据到视图中。
使用 View 对象:
// 使用 View 对象加载 $view = new View('yourview'); // 附加变量到输出视图的对象中 $view->title = "Welcome to Kohana !"; $view->heading = "My Heading"; $view->content = "My content here."; //------- 或者 -------- $view->set('title', "Welcome to Kohana !"); $view->set('heading', "My Heading"); $view->set('content', "My content here.");
你也可以使用数组的形式进行赋值:
// 使用 View 对象加载 $view = new View('yourview', array('title' => "Welcome to Kohana !"));
set() 设置在视图中可以使用的变量。你也可以使用数组的形式设置和赋值变量。$this→view→your_variable 同样可以完成。
$view = new View('welcome'); $view->set('title', 'Elvis lives');
bind() 这就像设置赋值的指定的变量。
$view = new View('welcome'); $var='Some value'; $view->bind('title', $var); $var='Another value'; $view->render(true); // 'title' 变量的值为 'Another value'
set_global() 设置变量值到所有的视图中。This means you can use it with views in views for example.
// 加载视图 $view = new View('page'); $view->header = new View('header'); // 在所有视图中设置变量 $view->set_global('title', 'Title of page'); // set variable $title for example in view header.php $view->render(TRUE);
render() 呈现视图的输出。
// 呈现并保持,默认没有浏览器输出 $this->template->content = $this->session->get_once('message').$content->render(); // 输出视图到浏览器 $this->template->render(TRUE);
静态方法。参数和创建实例化是一样的。
它会创建一个视图实例化并立即返回它,所以方法链接可用。
public function _add_breadcrumb() { $crumbs = View::factory('admin/breadcrumb') ->set('crumbs', html::breadcrumb()) ->render(); $this->template->content = $crumbs.$this->template->content; }
set_filename() 为视图设置文件名
$view=new View; if(request::is_ajax()) // request 辅助函数 { $view->set_filename('ajax_view'); } else { $view->set_filename('html_view'); } $view->render(TRUE);