Joomla源代码解析(二十) MVC组件的执行

以前的文章中,我们曾经说过 $mainframework->dispatch 是如何最终调用组件的,通过这个dispatch,最终 include 相应组件目录下的 组件名称.php 文件,现在我们来看看,这个文件是怎么按部就班的联系了MVC模式相关的各个文件。

require_once (JPATH_COMPONENT.DS.'controller.php');

// Require specific controller if requested
if($controller = JRequest::getVar('controller')) {
 require_once (JPATH_COMPONENT.DS.'controllers'.DS.$controller.'.php');
}

// Create the controller
$classname = 'HelloController'.$controller;
$controller = new $classname( );

// Perform the Request task
$controller->execute( JRequest::getVar('task'));

// Redirect if set by the controller
$controller->redirect();

 其实就是根据request提交的controller参数,创建相应的JController对象,然后由controoler对象执行相应的任务。

这样我们就完全理解了,一个组件是如何被调用,MVC组件是如何执行,并最后返回html代码的。

posted on 2009-12-20 13:57  14的路  阅读(484)  评论(0编辑  收藏  举报

导航

友情链接:源码下载