使用布局
布局文件是视图控制器中输出内容的模板
创建布局文件
调用视图控制器的display()方法时, 会制动加载模板文件夹根目录下的默认布局文件default.layer.php, 一个简单HTML布局文件内容如下:
"/>
<?php echo isset($title)?$title:'默认标题' ?>当执行视图控制器中的方法时, 视图控制器中的方法输出的内容会被赋值给布局文件中的变量$content, 最后合并到布局文件中输出到客户端.
在布局文件中调用视图控制器中的方法
直接在布局文件中使用$this->action()就可以调用视图控制器中的方法, 如下例
"/>
<?php echo isset($title)?$title:'默认标题' ?><?php $this->loadRes() ?>
在视图控制器中添加loadRes()方法, 就可以直接在视图控制器中调用了
为布局文件中的变量赋值
通过视图控制器更改网页标题, keywords,和description
namespace app\web\views;
use Cross\MVC\View;
class MainView extends View
{
function index($data = array())
{
$this->set(array(
'title' => 'hi',
'keywords' => 'crossphp',
'description' => '轻量高效php开发框架',
));
include $this->tpl("main/index");
}
}
布局文件中的所有变量均可以在方法中调用$this->set()设置值. set()方法参数为一个数组, 数组的key即为布局文件中的变量名.
控制资源文件
添加静态资源文件,如css,js等,需在layer中指定位置添加$this->loadRes()方法
namespace app\web\views;
use Cross\MVC\View;
class MainView extends View
{
function index($data = array())
{
$this->addRes("css/style.css");
include $this->tpl("main/index");
}
}
>自定义app中的视图控制器基类的基类而不是直接继承CoreView,这样更灵活易扩展.