php视图模型,视图模型使用(创建、使用) - TimoPHP

视图模型的使用(创建、使用)

视图模型概念

框架将MVC模型里面的V(视图)分成了视图模型层(ViewModel)和模版层(Template)这个模版层实际就是视图层

框架在MVC的视图层上面加了一个可选层视图模型层(ViewModel)注意是可选的,可编写一些自定义方法,在视图里面用$this直接调用

创建视图模型

存放位置

视图放在view目录下面,如app/admin/view/BaseView.php

命名规则

控制器名称 + 后缀View关键词,如BlogView、DocumentView

创建视图模型

namespace app\web\view;

use Timo\Core\View;

class DocumentView extends View

{

}

视图模型的使用

什么时候会使用视图模型

我们一般可以不使用视图模型,当web项目比较大的时候可以使用,当然我们要是写app接口,那肯定不会用的,视图模型里面可以提供一些共用方法、小部件、插件、分担一些控制器任务

怎样使用视图模型

当我们应用的view目录里面有和当前控制器同名的视图模型时,框架会自动加载该视图模型,如果没有,就不加载

比如我们有个基础的视图,提供一些基础的方法

namespace app\web\view;

use Timo\Core\View;

class BaseView extends View

{

protected $css = 'index';

/**

* 获取静态资源路径

*

* @param $url

* @return string

*/

protected function staticRes($url)

{

return $this->res($url);

}

/**

* 当前页面css文件

*

* @return string

*/

protected function currentCss()

{

$css = !empty($this->data['view_css']) ? $this->data['view_css'] : $this->css;

return $this->staticRes('css/'. $css . '.css');

}

protected function metaKeywords()

{

return isset($this->data['keywords']) ? $this->data['keywords'] : '';

}

protected function metaDesc()

{

return isset($this->data['desc']) ? $this->data['desc'] : '';

}

}

比如上面Base这个视图模型提供了staticRes()这个方法,我们就可以在视图(模版)里面调用,比如,我们要引入基础的css样式base.css

我们就可以这样调用= $this->staticRes('css/base.css') ?>

视图模型使用(创建、使用) - TimoPHP

TimoPHP Document

好处是什么呢?好处就是我们可以随意跟换静态文件的域名,

比如上面的域名是www.timophp.com,过一段时间我们把静态文件分离到了另外一个服务器,域名是s1.timophp.com

这时我们就可以修改这个staticRes方法,怎样修改呢?请看下面:

php

/**

* 获取静态资源路径

*

* @param $url

* @return string

*/

protected function staticRes($url)

{

return $this->res($url, 'http://s1.timophp.com/');

}

之前的连接就会变成

我们的模版就不用改变,当然,还可以把这个域名写到配置文件,到时候直接改配置文件,

当然,这个连接也不会经常变,所以,写在里面也无妨

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值