|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
毕业设计作品自己个人还是觉得比较满意的,尽管有些功能考虑的不全面,也没有很好的实现。 The Php.MVC Tag Action Dispatcher
TagActionDispatcher是一个尺度的ActionDispatcher类的完成,它撑持会见根基模板标签.TagActionDispatcher类撑持不异的ActionObjects纠合和ViewResourcesConfig属性作为默许的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签体系上,虽然因为它的额定处置会形成小的功能下落.
模板标签库是PHP.MVC框架布局的子体系.模板标签库结合TagActionDispatcher一同任务来撑持一些复杂的模板标签.
上面的图表显示了PHP.MVC模板标签体系的总揽.右边展现的是模板标签体系的法式流程.右侧是TagActionDispatcher的法式流程,还有标签模板是如何使这些类停止交互.
1.初始化
当掌握器传递掌握抵达TagActionDispatcher,一些初始化触发去设置ActionObjects和ViewResourcesConfig属性为了利用咱们的模板:
从request中从头取得$form,$errors和$data对象,假如这些对象中的恣意一个已在之前被创立(好比在Action类中),那末对象如今将在资本模板中不成见,不然对象将被设置为NULL.
从头取得ViewResourcesConfig对象的参考,它包括了设置装备摆设参数.
设置在ViewResourcesConfig参数中指向模板源文件和编译的模板文件的途径.
2.设置标签页面
模板源文件的扩大名(多是".ssp")被用来和ViewResourcesConfig->tagFlagStr参数比拟较来决意是不是这个页面需求处置,不然页面将被处置为尺度(无标签)模板文件.咱们能在view-resources元素中设置装备摆设标签文件扩大名,就像如许:
<view-resources
...
tagFlagStr = ".ssp"
tagFlagCnt = "-4"
...
</view-resources>
tagFlagStr唆使了标签模板源文件能被预处置,好比:myPage.ssp.这个扩大名触发标签处置.属性tagFlagCnt界说了文件名开头的字符数,包含"."(xxxYyy.ssp).据个例子,-4代表源文件名最初4个字符.默许值是.ssp和-4,因而假如咱们利用一个模板文件名像myPage.ssp,咱们不需求设置这些参数.
3.处置标签文件
模板标签体系决意是不是运转标签处置器,要依据ViewResourcesConfig->processTags属性.假如这个属性为真,模板页(及它所包括的页)将被标签处置器类所处置,不然标签处置器不会被挪用.开辟者只需将它在开辟中将其设置为真便可,假则不处置.但要注重的是当processTags属性设置为真,修正过的标签页才会被编译(这依附于compileAll属性设置).咱们能界说processTags属性在view-resources元素,就像如许:
<view-resources
...
processTags = "True"
...
</view-resources>
注重,它的默许值是假.
4.编译模板页.
假如TagActionDispatcher决意模板页将被处置,那末它会传递掌握给模板标签体系.如今模板标签体系将决意是不是只编译修正过的页,仍是编译一切页.这类行动利用ViewResourcesConfig->compileAll属性来界说.咱们界说compileAll属性就像如许:
<view-resources
...
compileAll = "True"
...
</view-resources>
这个属性默许为假.
5.只编译修正的页.
假如compileAll属性设置为假(默许值),那末只会编译修正过的页.据个例子,假如被恳求的页面自从前次被恳求以来被修正过,此页将会被编译.
6.编译一切的页.
假如compileAll属性设置为真,模板标签体系将老是编译页面(包含包括的页面)不管此页面自从前次恳求以来是不是修正过.开辟者利用在开辟中利用这个选项可以包管一切的页面都被处置.
7.处置VIEW资本.
在处置完模板页以后,掌握权回到TagActionDispatcher.被恳求的VIEW资本(模板文件)将被任何其他的正轨PHP.MVC模板文件所处置.TagActionDispatcher从头取得被编译的页(包含包括的页面)而且将页面输入给用户的阅读器.假如模板标签体系没有被挪用,TagActionDispatcher将被恳求的页面作为正轨的VIEW资本来处置.好比TagActionDispatcher能被用来取代尺度的ActionDispatcher.
多去关于PHP的网站,尤其有很多经典的文章,多读读这些文章显然是有好处的。 |
|