视图
视图通常包含了一个项目应用的HTML代码,分离控制器和业务逻辑。视图存放于application/views 目录下。
一个简单的视图案例:
通过控制器传递参数给view
<?php
class IndexController extends Star_Controller_Action
{
public function init()
{
}
public function indexAction()
{
//三种赋值方式
$this->view->title = "Hello World";
$this->view->assign("content", "Hello World.");
$this->view->assign(array(
"title" => "Hello World",
"content" => "Hello World.",
));
}
}
?>
view脚本文件 application/views/scripts/index/index.phtml
<html>
<head>
<title><?php echo $this->title;?></title>
</head>
<body>
<?php echo $this->content; ?>
</body>
</html>
主题
SF非常便捷支持设置不同主题,无需修改业务逻辑代码,使用主题来修改外观和体验。
SF默认是使用的views/scripts目录下view脚本, 你可以通过设置主题:
$this->view->setTheme($theme_name);
静态资源
为了免去前端静态资源被浏览器或者cdn缓存所带来的烦恼,SF提供了静态资源版本管理统一管理,方便即时展示最新修改的资源文件内容。
配置文件添加静态资源配置
;静态资源基础路径
resources.view.staticConfig.base_path = http://static.sf.com
;静态资源版本号
resources.view.staticConfig.version = v_20150808001
方法
view获取静态资源路径
<?php echo $this->getStaticBasePath(); ?>
view获取静态资源版本
<?php echo $this->getStaticVersion(); ?>
控制器配置加载js资源
$this->view->setJsConfig(array(
"files" => array(
"js/jquery",
"js/common",
),
));
view加载配置js资源
<?php
echo $this->loadJs();
?>
执行结果
<script type="text/javascript" src="http://static.sf.com/v_20150808001/jquery.js"></script>
<script type="text/javascript" src="http://static.sf.com/v_20150808001/common.js"></script>
控制器配置加载css资源
$this->view->setCssConfig(array(
"files" => array(
"css/common",
"css/content",
),
));
view加载配置css资源
<?php
echo $this->loadCss();
?>
执行结果:
<link rel="stylesheet" type="text/css" href="http://static.sf.com/v_20150808001/css/common.css" />
<link rel="stylesheet" type="text/css" href="http://static.sf.com/v_20150808001/css/content.css" />
当前内容版权归 starframework 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 starframework .