joomla代码结构原理,执行流程

joomla-安装

  1. 下载源码
  2. 解压到apache发布目录
  3. 访问http://xxx/installation/index.php 根据实际情况访问
  4. 按每步提示操作,mysql库要先建立,ftp可暂时不开
  5. 删除安装文件即可

joomla代码结构

Joomla 2.5主要目录结构
├─administrator     # 后台程序部分
├─cache             # 用于存放cache,需要保持可写
├─components        # 组件,每个组件一个文件夹,通常是com_**
├─images            # 图片资源,上传的文件都会存放在这里,所以要保持可写
├─language          # 语言包目录,名称要与components、plugin或module的名称对应才能生效
│  ├─en-GB          # 如:language/en-GB/en-GB.com_content.ini
│  └─overrides      # 从2.5开始,语言文字可以在后台重写,被重写的语言信息存在位置
├─libraries         # joomla的核心类库,需要深入API的可以阅读里面的代码
├─logs              # 日志目录,要保持可写
├─modules           # 所安装模块的位置
├─plugins           # 所安装插件的位置
├─templates         # 所安装模板的位置,每个子目录对应一个模板
│  ├─atomic         # atomic是个典型的模板,适合于初学者
│  │  ├─css         # CSS目录,关于模板的样式文件都放在这里
│  │  ├─html        # 组件与模块都有默认模板(tmpl目录),主模板有权限重写它们,重写的模板在这里
│  │  ├─images
│  │  ├─js
│  │  └─language    # 模板在后台可以拥有配置参数,而参数的语言包会放在这里
│  │      └─en-GB
│  └─system         # 所有template都基于system模板,不要修改它
│      ├─css
│      ├─html
│      └─images
└─tmp                # 临时目录,需要保持可写
configuration.php    # 配置文件,里面含有数据库与网站设置信息
.htaccess            # 没有它,在apache就不能实现伪静态链接
web.config           # 没有它,在IIS7就不能实现伪静态链接

component目录结构,举其中一个com_users的组件的栗子:
├─com_users            # user组件,joomla里非常重要的组件之一
│  ├─controllers       # 控件器集
│  ├─helpers           # helpers用于存放辅助类与函数  
│  ├─models            # 模型集
│  │  └─forms          # Joomla2.5开始,表单可以基于XML来配置,forms是指定配置目录   
│  └─views             # 视图集
│      ├─login         # 登录页面视图
│      │  │  metadata.xml
│      │  │  view.html.php      # 视图逻辑,作用是model与template的桥梁
│      │  │  view.json.php      # 如果URL上有参数format=json,就会使用这个视图逻辑,如此类推
│      │  └─tmpl                # 默认模板,会由视图引入
│      │          default.php   # 其中一个模板
│      │          default.xml   # 后台添加菜单时需要选择menu type,组件是否出现在menu上靠这文件
│      │          default_login.php        # default.php的子模板,由loadTemplate引入
│      │          default_logout.php
时间: 2024-11-20 09:02:26

joomla代码结构原理,执行流程的相关文章

PHP的执行原理/执行流程

http://www.cnblogs.com/hongfei/archive/2012/06/12/2547119.html 更深入的学习和了解可以查看下面: 风雨的博客http://www.laruence.com/2008/08/12/180.html 百度研发中心的博客http://stblog.baidu-tech.com/?p=763 王兴宾的博客http://blog.csdn.net/wanghao72214/article/details/3916825 简介 先看看下面这个过程

【转】PHP的执行原理/执行流程

简介 先看看下面这个过程: 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的: PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口): PHP总共有三个模块:内核.Zend引擎.以及扩展层: PHP内核用来处理请求.文件流.错误处理等相关操作: Zend引擎(ZE)用以将源文件转换成机器语言,然后在虚拟机上运行它: 扩展层是一组函数.类库和流,PHP使用它们来执行一些特定的操作.比如,我们需要mysql扩展来连接MySQL数

servlet代码分析-整个执行流程

对于Servlet的理解,对于我们更好的理解框架非常的有帮助的,所以!我之前看过的书,好多都忘记了,这个东西太多,一时间忘记了也是很正常的涩,所以我们必须多去深刻的理解整个过程,帮助我们更好的完成工作. 首先我们先来看一下servlet家族图谱 Servlet API的核心就是javax.servlet.Servlet接口,所有的Servlet 类(抽象的或者自己写的)都必须实现这个接口.在Servlet接口中定义了5个方法,其中有3个方法是由Servlet 容器在Servlet的生命周期的不同

struts2的执行原理(执行流程,过滤器和拦截器)

一个请求在Struts2框架中的处理大概分为以下几个步骤: 1 客户端发送请求:2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin)3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action.FilterDispatcher的功能如下: (1)执

03Mybatis_mybatis框架原理——执行流程

mybatis的框架的原理(执行流程). 来源: 传智播客

zepto源码分析-代码结构【转载】

本来想学习一下jQuery的源码,但由于jQuery的源码有10000多行,设计相当复杂,所以决定从zepto开始,分析一个成熟的框架的代码结构及执行步骤. 网上也有很多zepto的源码分析,有的给源码添加注释,有的谈与jQuery的不同,但是都没有系统的讲解zepto框架的代码结构及初始化Zepto对象的过程. 准备 默认你已经对面向对象有一定的了解,本文是边实践边写的,虽有些乱,但好处是为大家提供了分析的思路. 英文文档. 中文文档 注意在文中$变量表示一个函数对象,而$()表示执行函数,他

Python学习[day2]while循环以及执行流程、格式化输出、运算符

1. while循环 while 条件: 代码块(循环体) 执行流程: 1. 判断条件是否为真. 如果真. 执行代码块 2. 再次判断条件是否为真...... 3. 当条件为假.执行else 跳出循环. 循环结束 列举几个简单的while循环的例子: (1):求1~100以内所以数的和: num = 1 sum = 0 while  num <= 100: sum = sum + num num += 1 print(sum) (2):求1-2+3-4.......99的所以数的和: num =

从源码角度了解SpringMVC的执行流程

目录 从源码角度了解SpringMVC的执行流程 SpringMVC介绍 源码分析思路 源码解读 几个关键接口和类 前端控制器 DispatcherServlet 结语 从源码角度了解SpringMVC的执行流程 SpringMVC的执行流程网上有很多帖子都有讲解,流程图和文字描述都很详细,但是你如果没有通过具体源码自己走一遍流程,其实只是死记硬背.所以想开个帖子从源码角度再梳理一遍SpringMVC的执行流程,加深印象. SpringMVC介绍 SpringMVC采用的是前端控制器(Front

Java中异常发生时代码执行流程

异常与错误: 异常: 在Java中程序的错误主要是语法错误和语义错误,一个程序在编译和运行时出现的错误我们统一称之为异常,它是VM(虚拟机)通知你的一种方式,通过这种方式,VM让你知道,你(开发人员)已经犯了个错误,现在有一个机会来修改它.Java中使用异常类来表示异常,不同的异常类代表了不同的异常.但是在Java中所有的异常都有一个基类,叫做Exception. 错误: 它指的是一个合理的应用程序不能截获的严重的问题.大多数都是反常的情况.错误是VM的一个故障(虽然它可以是任何系统级的服务).