execute() 这个函数还记得吗?是 Application->;run() 调用的,是 Page 类的执行入口。Page 类的 execute() 应该是个抽象函数,但因为 php4 还不支持,所以就写个 die 在里面。
_defaultTemplateVariables() 是个非常有用的函数,不过 Page 里面的实现只是返回一个空 array。
现在看来class page改名为class action也许更合适,
而且进一步细分的话,class application用于封装整个网站需要的基本功能、class action封装一个动作、class page封装页面显示
如果是每个action都要用的,就放在class page里面好了。
1、这句话不是很理解,如果 class Page 中没有放这个execute() 这个函数也不会影响吧?
引用:
execute() 这个函数还记得吗?是 Application->;run() 调用的,是 Page 类的执行入口。Page 类的 execute() 应该是个抽象函数,但因为 php4 还不支持,所以就写个 die 在里面。
2、同样,既然在继承类class MyPage中有了_defaultTemplateVariables(),为什么class Page里边也要放一个?
引用:
_defaultTemplateVariables() 是个非常有用的函数,不过 Page 里面的实现只是返回一个空 array。
3、我这两天也看过一两篇介绍 MVC 的文章(虽然对于我来说还有些深 ),我的感觉 class Application 应该就是起一个 controller 的作用吧?而class Page以及各个具体的Page类,看来就是M和V混合了。--这样理解不知道对否?我注意到还有一个class MyPage,是不是您已经打算把显示部分独立出来做另一个类呢?否则似乎可以跟class Page合而为一吧?
引用:
现在看来class page改名为class action也许更合适,
而且进一步细分的话,class application用于封装整个网站需要的基本功能、class action封装一个动作、class page封装页面显示
4、我想把数据库的初始化也从class Application中转移到class Page,这样就不需要单单为了一个数据库对象而传递从前者的对象给后者了,因为数据库在application中其实根本没有用上:
$page = & new $page_class_name($this);
引用:
如果是每个action都要用的,就放在class page里面好了。
我的问题是,function run() 中的程序放到 function Application(),如果可以的话,index.php中最后一行$app->;run(); 是不是也可以不要的,那样岂不是更加简洁
目前的自我感觉,我的思维还是停留在面向过程的方式,OOP我完全可以接受,也可以用来写些东西了,但是思路经常还是用过程那一套,所以OOP对我来说还只是一种形式。不知道大侠有何诀窍可以帮助我转过这个弯来。谢谢!
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |