在请求到达index.php直到浏览器最终输出之后,Joomla执行流程是什么?


8

基于以下问题:模板如何工作并加载css / js文件?Purity III的网站建设流程

Quote:
....我明天必须展示我的网站,然后我可能会被问到“内容来自何处?” 我无法回答,因为我自己不明白。

如果我致电该网站会怎样?在index.php文件中是php代码,但是我找不到网站其余部分被“调用”的地方。

以及诸如此类的问题类型:Joomla文件位于何处

我决定创建此Q / A,以作为所有类似问题的参考。欢迎任何愿意为使它成为可靠的社区Wiki帖子做出贡献的人。

Answers:


13

Answer的目录
1.初学者简介+初学者资源链接
2.关于Joomla体系结构
3. Joomla执行流程-Joomla的工作方式
4.补充资源

1.初学者简介

使用Joomla进行站点构建非常简单,因为它提供了一个友好的管理区域。在大多数情况下,这是最终用户和设计师所需了解的全部内容。

很多对经典静态html和css有所了解的初学者都具有相同的常见问题/期望:如何编辑文件/内容,因为他们看到文件/内容在浏览器中呈现。

但是,Joomla在后台工作的方式比编辑html文件复杂得多,并且需要高级的编程知识和经验才能完全理解它。

因此,作为一个简短的答案:不要期望打开FTP /文件管理器应用程序并找到名为的文件myArticle.html,否则index.html,您将可以直接对其进行编辑或更改页面html元素的外观。

首先,我建议先学习Joomla基础知识以及如何从后端进行管理。慢慢地,将逐渐获得更多的知识和经验。

初学者资源

可在此处找到具有有用资源和教程的主题:
Joomla入门教程-如何从Joomla开始?


2.关于Joomla建筑

Joomla不仅仅是基于PHP 的现代CMS。这是一个结合了多层体系结构的高级Web项目,其中包括:

  • 的Joomla框架 -包括第三方库,该框架依赖,并扩展框架插件。
  • 单独的Web应用程序,例如管理员站点,前端站点,安装。
  • 扩展层(模块,组件,模板),用于扩展Joomla框架和应用程序。

Joomla实现了各种高级编程概念,面向对象的编程MVC设计模式和其他常见的设计模式,模板系统等。另外,请不要忘记Joomla利用了一个数据库,在该数据库中,当需要在其上显示数据时,可以保存和检索数据。屏幕。


3. Joomla执行周期的简单概述-Joomla的工作方式

当您到达index.phpJoomla网站(前端JSite应用程序)的时,一个全新的执行周期开始,其中包括:

  • 重要信息包括定义应用程序常量的文件,这些文件在应用程序及其扩展中广泛使用。
  • 加载Joomla框架及其应用程序正常工作所需的所有基本,-该框架还会检查是否有配置文件,或者应该将我们带到安装文件夹以进行新的Joomla安装。
  • 所述应用对象创建并初始化和会话状态的处理(新的或现有的会话)。
  • 配置文件被加载-这还可以访问数据库。
  • 路由器被调用。路由器负责将URL转换为命令关联数组,反之亦然。这些命令将用作url参数,并发送到PHP的$_GETSuperGlobal以构成完整的url。该option数组的元素是定义应执行的组件的元素。
  • 执行组件后,将创建文档对象。文档存储在内存中并保存数据,这些数据稍后将在浏览器中返回。作为缓冲区存储在内存中的事实允许以任何特定顺序从任何位置放置和操作其中的内容。所选模板已存储在配置中。另外,值得注意的是,Joomla唯一要做的就是运行组件。在此步骤中,应该执行的其他操作是组件的工作。
  • 接下来是Page的Rendering,其中与上一步中的组件数据一起,模块和通知消息也被呈现并放置在其模板位置。
  • 最后一步是将页面输出到浏览器
  • 需要注意的重要一点是,在上述执行周期的各个阶段中,都会调用“ 插件事件”点,它们使各种事件能够干扰和扩展Joomla功能。

此处记录了更详细的执行流程列表以及插件事件:Joomla应用程序执行流程


4.补充资源:


1

小小的贡献,Joomla的完整列表插件事件


小但有用
FFrewin

也许您可以在这里
写下

@FFrewin我会,但基本上是每个Plugin事件的链接的一长串!我试图在此列表中找到所有事件的“时间表”,但我找不到更多信息,在大量使用Google搜索和Joomla应用执行流确实提到了一些内容之后,我在这里无意中发现了您的答案系统组“事件”中的“事件”,但其他所有事件都不多。
Gruber

@FFrewin也会对所有不同的插件事件进行概述,这很有用,但是我在Joomla文档中没有找到太多内容(因此,我承认我的GoogleFu缺少了这些东西,不知道为什么,也许是热度: P)
Gruber
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.