zentaoPHP学习

这是其中一个faq module在module目录下,
其中model.php是数据库dao层的数据操作,control.php是控制层代码,config.php是本模块中的一些局部配置。lang是做国际化的。
view是页面视图层。
几个重要的约束:
1.模块内部的调用不需要引用
$this->faq->method()表示调用model中的方法
$this->view->args表示填充view中的参数,即想view页面传值
$this->config->args表示获取config中的配置
$lang->faq->args表示获取lang中的值(国际化)
2.control.php中的action方法必须与view中的文件命名有关联如:
control中的某action方法:create
其对应view中的create.html.php,命名规则必须是这样。只有这样create方法中的参数才能传递到create.html.php页面
3.js和css规则
命名必须与view中的关联才能找到对应的js函数及css样式,这就是为什么不需要引用文件。
4.对于post表单提交,需要在action中做如下处理:
if(!empty($_POST))
       {
           $this->faq->create($productID, $this->post->category);
           if(dao::isError()) die(js::error(dao::getError()));
           die(js::locate($this->inLink('manage', "productID=$productID&categoryID=$categoryID"), 'parent'));

       }
这里的create被调用两次,点击添加按钮,即跳转到create,点击提交跳转到create的post中并转向manager页面。
5.zentaoPHP框架是单一入口的,一般所有url都是已index.php后加参数访问,如访问faq模块的create方法,url:index.php?m=faq&f=create&id=2
每一次请求都要经过index.php并加载所有框架模块以及配置参数等,最后通过$app->loadModule();将请求根据url分配下去。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章