|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我先解释一下我的学习思路。一个view是一个页面模版,一般按action的名字定名。比方,PostsController::add的view位于/app/views/posts/add.ctp。Cakeview长短常复杂的PHP文件,因而你能够在个中利用任何PHP代码。Layouts结构一个layout(结构)包括了一切包裹在view以外的体现代码。Layout文件都放在/app/views/layouts目次里。你能够重写一个默许的layout来代替位于/app/views/layouts/default.ctp的Cake默许layout。一但创立了新的默许layout,当页面render的时分controllerview的内容会被交换到默许layout中。只需必要,你能够随便为你的Cake站点创立恣意数目的layout,只需把他们放在app/views/layouts目次,而且在你的controlleraction里边利用controller的$layout变量大概setLayout()办法来切换layout。Elements元素element元素的发生次要是为了代码大概是代码块的重用。很多使用程序城市有一些在各个页面见一直反复的体现层代码,偶然他们只是在layout里的分歧中央。Cake能够匡助你复制站点中的某些区块,假如必要的话。我们将这些可重用的页面区块称为Element(元素)。告白,匡助框,导航栏,菜单和插图都被Cake完成成为element。一个element实在能够看做是能够包括在其他view里边的mini-view。一切element都生存在/app/views/elements目次下,而且文件扩大名为.ctp。默许情形下,element会见不就任何数据。想让它具有对数据的会见权,你必要将数据放在数组里传送给它,其实不要忘了为这些数据带上名字(键-值对数组)。无参数地挪用一个element<?phpecho$this->renderElement(helpbox);?>挪用一个element,并传进包括数据的数组<?phpecho$this->renderElement(helpbox,array("helptext"=>"Oh,thistextisveryhelpful."));?>在element文件里,一切传进的变量都能够经由过程他们在参数数组里的键名来利用(有点相似于在view里边利用controller用set()设置的变量)。在上边这个例子中,/app/views/elements/helpbox.ctp文件可使用$helptext变量。固然,假如传送一个数组给element会包括更多的信息。element使view具有更佳的可读性,而把render反复的element的部分放在对应的element文件中。固然它们也能够匡助你重用站点中的内容区块。《PHP+MYSQLWEB开发(第三版)》号称圣经级,(也许是个不错的选择(声明:作者没给我啥好处费,我也不是书托,隔着大老远,我连他老兄的面都没见过的说-_-) |
|