以前的文章中,我们曾经说过 $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代码的。
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代码的。
发表评论
-
joomla 模块modules开发教程
2010-05-12 14:16 2808模块是页面扩展轻量级方式,相对组件更为灵活。模块通常用来做页面 ... -
joomla 1.5——JDocument类用法
2010-04-22 14:46 1400文档类,提供一个容易 ... -
[翻译] Joomla XML 解析器规范 上
2010-04-22 14:45 1082概述 Joomla! 1.5 新增 JSimpleXML 类 ... -
Joomla插件开发规范
2010-04-22 14:44 1414概述:JPlugin Joomla 1.5的新功能 为了更好 ... -
joomla源代码探析续(三十一) JHTML 类常用的方法
2010-04-22 14:37 1743我曾经在几篇文章中涉及到JHTML的方法使用,这里不再说了,请 ... -
joomla源代码探析续(三十) JDate类参考
2010-04-22 14:36 1086JDate类与JString类一样是Joomla!中的基础类, ... -
joomla源代码探析续(二十九) JHTML 与JHTMLSelect 类的使用
2010-04-22 14:33 1209我们在form表单生成的过程中,经常需要有select 标签或 ... -
joomla源代码探析续(二十八) 如何扩展JTable类
2010-04-22 14:30 1064JTable类是Active Record设计模式(web应用 ... -
joomla源代码探析续(二十七)组件后台如何设置参数
2010-04-22 14:29 930以下的方法可以在管理后台中添加一个Parameters设置的按 ... -
joomla源代码探析续(二十六)JUser对象和用户权限判断
2010-04-22 14:23 1867每一个访问Joomla网站的用户都对应这一个JUser对象,通 ... -
joomla源代码探析续(二十五)JRequest对象的变量获取过程
2010-04-22 14:22 1190Joomla 1.5 RC3版本的SEF存在不少问题,前段时间 ... -
joomla源代码探析续(二十四)JPagination类
2010-04-22 14:22 1128JPagination类是Joomla的通用分页功能的封装类, ... -
Joomla源代码解析(二十二) 模块是如何被调用执行并渲染(下)
2010-04-22 14:16 956上一文章中提到了getBuffer函数,在函数中实际上调用了r ... -
模块是如何被调用执行并渲染?
2010-04-22 14:12 857以前的文章中,关于/index.php我们已经分析完了 $ma ... -
Joomla源代码解析(十九) JController
2010-04-22 14:05 896同样 JController 是MVC中重要的起点,正式这个类 ... -
Joomla源代码解析(十八) Jview
2010-04-22 14:03 977MVC模式中,重要的一环,JView 和 tmpl目录中的模板 ... -
Joomla源代码解析(十六) JTable是什么 不指定
2010-04-22 14:01 1463JTable是什么? JTable是数据库中数据表在程序中的表 ... -
Joomla源代码解析(十五) 组件是如何被调用并渲染的
2010-04-22 14:00 1446Joomla代码中, 组件是如 ... -
Joomla源代码解析(十四) JRequest类 不指定
2010-04-22 13:58 867这是另一个Joomla扩展中最常用的类,这个类封装了客户端提交 ... -
Joomla源代码解析(十三) JText类
2010-04-22 11:25 1227Joomla 最常用的类之一,使用方式JTEXT::_('JJ ...
相关推荐
- 这一部分通常会介绍Joomla3 MVC组件开发的基础知识,包括为什么使用MVC模式,以及它如何帮助提高代码的组织和复用性。 - 它可能还会提及教程的目标受众,例如对PHP有一定了解但对Joomla开发还不熟悉的开发者。 ...
joomla源代码探析,比较详细阐述了joomla框架
本篇将深入探讨Joomla组件开发的详细过程,并结合源代码进行解析。 一、Joomla组件概述 在Joomla中,组件是最大的功能单元,它由多个部分组成,包括模型、视图、控制器、模板和语言文件等。组件开发涉及以下几个...
这是 Joomla 的后台管理界面的源代码,包含了管理面板的所有组件、模块和视图,用于设置网站内容、用户管理、权限控制、模板选择等。管理员可以通过这个部分对整个网站进行全方位的控制。 总的来说,Joomla 2.5.16...
总之,创建一个MVC模式的Joomla组件涉及到理解MVC的基本原理,然后根据组件的需求编写和组织Model、View和Controller的代码。通过实践,你将能更好地掌握如何在Joomla环境中利用MVC模式来构建高效且灵活的组件。
Joomla组件是Joomla平台上的独立应用程序,它们负责执行特定的任务,如新闻发布、电子商务、用户管理等。这些组件通常由多个文件组成,包括前端和后端视图、控制器、模型和语言文件等。 2. **社区管理组件** ...
【标题】:“Joomla组件开发” 在Joomla这个流行的开源内容管理系统(CMS)中,组件是构建网站功能的核心模块。Joomla组件开发是一项技术性较强的任务,涉及到PHP编程、MVC设计模式、数据库交互以及前端技术等多个...
### Joomla组件翻译篇知识点解析 #### 一、MVC组件开发概述 - **MVC(Model-View-Controller)架构**:这是一种常见的软件设计模式,主要用于简化开发过程并提高代码可维护性。在Joomla中,它被广泛应用于组件开发...
8. **安全与优化**:确保所有安装的组件都来自可信赖的源,并保持Joomla核心及所有扩展的最新状态,以防止安全漏洞。 通过熟练掌握Joomla中的Tab组件,你可以创建出更具有交互性和用户体验的网站。这种组件化的内容...
在组件开发中,我们需定义用户角色和权限,然后在代码中实现这些权限的检查,以决定用户是否可以执行特定操作。 ### 3. 添加配置 (Joomla-3.2-Hello-World-Component-step-13-adding-configuration.zip) 组件的...
**Joomla 1.6 文件上传下载组件** Joomla 1.6 文件上传下载组件是一款专为Joomla 1.6版本设计的扩展程序,它允许网站管理员在网站上创建一个安全、用户友好的文件上传和下载平台。该组件不仅提高了用户交互性,还为...
11. **前后端分离**:`admin`和`site`目录可能分别代表后台管理和前台用户界面的代码,表明组件有清晰的角色划分,便于管理。 在Joomla环境中,安装和配置此类组件通常包括以下几个步骤: 1. 下载组件的ZIP文件。 ...
【标签】"房地产源码"表明该组件的核心是源代码,这意味着用户可以深入修改和定制组件的功能,以满足特定需求。源码提供了一种灵活性,允许开发者根据目标市场、业务规则和用户体验进行调整。 【压缩包子文件】中列...
**Joomla文章显示组件** Joomla文章显示组件是一款专为Joomla内容管理系统设计的模块,旨在帮助用户更高效地管理和展示网站上的文章。这个组件具备69个可配置参数,这意味着用户可以根据自己的需求定制文章的展示...
在本系列教程中,我们将学习如何创建一个基于MVC(模型-视图-控制器)模式的Joomla组件。MVC是一种流行的软件设计模式,它将应用程序的业务逻辑、数据处理和用户界面分离,使得各部分可以独立开发和维护。在Joomla中...
在开发Joomla组件时,遵循MVC(Model-View-Controller)架构模式是非常重要的。模型处理数据逻辑,视图负责显示数据,而控制器作为中间人,接收用户请求并调用模型和视图来完成任务。这种分离使得代码更易于维护和...
通过解析这个XML文件,Joomla的安装程序可以知道如何正确地处理组件的安装过程。 4. **packages**:这是一个目录,通常包含组件的子模块、插件或其他附加组件。在Zoo组件的案例中,这个目录可能包含了各种预设的...