• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

cakephp笔记――view层_php

php 搞代码 3年前 (2018-06-21) 146次浏览 已收录 0个评论

一个view是一个页面模版,通常按action的名字命名。例如,PostsController::add的view位于/app/views/posts/add.ctp。Cake view是非常简单的php文件,因此你可以在其中使用任何PHP代码。

 
    Layouts 布局
 
一个layout(布局)包含了所有包裹在view之外的表现代码。Layout文件都放在/app/views/layouts目录里。你可以重写一个默认的layout来取代位于/app/views/layouts/default.ctp的Cake默认layout。一但创建了新的默认layout,当页面render的时候controller view的内容会被替换到默认layout中。只要需要,你可以随意为你的Cake站点创建任意数量的layout,只要把他们放在app/views/layouts目录,并且在你的controller action里边使用controller的$layout变量或者setLayout()方法来切换layout。
 
 
 
Elements 元素
 
 
element元素的产生主要是为了代码或者是代码块的重用。许多应用程序都会有一些在各个页面见不停重复的表现层代码,有时他们只是在layout里的不同地方。Cake可以帮助你复制站点中的某些区块,如果需要的话。 我们将这些可重用的页面区块称为Element(元素)。广告,帮助框,导航栏,菜单和插图都被Cake实现成为element。一个element其实可以看作是可以包含在其他view里边的mini-view。所有element都生活在/app/views/elements目录下,并且文件扩展名为.ctp。
 
默认情况下,element访问不到任何数据。想让它具有对数据的访问权,你需要将数据放在数组里传递给它,并不要忘了为这些数据带上名字(键-值对数组)。
 
无参数地调用一个element
 
<?php echo $this->renderElement('helpbox'); ?>  
调用一个element,并传入包含数据的数组
 
<?php echo  
$this->renderElement('helpbox', array(
"helptext" => "Oh, this text is very helpful.")
);  
 ?>  
在element文件里,所有传入的变量都可以通过他们在参数数组里的键名来使用(有点类似于在view里边使用controller用set()设置的变量)。在上边这个例子中,/app/views/elements/helpbox.ctp文件可以使用$helptext变量。当然,如果传递一个数组给element会包含更多的信息。element使view具有更佳的可读性,而把render重复的element的部分放在对应的element文件中。当然它们也可以帮助你重用站点中的内容区块。
 

欢迎大家阅读《cakephp笔记――view层_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址