October CMS 使用模块化结构,其中大多数编程功能位于 modules 或 plugins 目录中。
该 app 目录包含应用程序特定的代码。此目录的内容将在本节之后进行更详细的探讨。总而言之,此区域包含不属于传统插件的业务逻辑。大多数插件功能在此目录中可用。
bootstrap 目录包含 app.php 引导脚本,用于加载 Laravel 框架。该目录还包含自定义 PHP 类自动加载器。通常,不应修改该目录中的文件。
config目录包含所有应用程序配置文件。 每个文件控制应用程序的功能。 配置文件可以根据您的应用程序要求更改。 系统更新不会修改配置文件。
plugins 目录中包含扩展 October CMS 核心功能的软件包。插件可以通过引入新功能来修改平台。默认情况下,系统会加载文件系统中所有找到的插件。可以使用 system.disable_plugins 配置参数禁用特定的插件。
storage目录包含日志文件、缓存文件、会话以及由October CMS生成的其他文件。它包含几个子目录:
app - 包含应用程序特定的存储文件,例如媒体文件、文件上传以及自动生成的资源,例如调整大小的文件和合并的资产文件。框架 - 由 Laravel 框架用于存储其生成的文件和缓存。cms - 由 October CMS 平台用于存储其生成的文件和缓存。logs - 包含应用程序的日志文件。temp - 用于存储临时应用程序文件。modules 目录包含 October CMS 的核心包,提供整个系统通用的核心功能。默认情况下,模块会根据它们在文件系统中的存在而自动加载。然而,可以使用 system.load_modules 配置参数来指定要加载哪些模块。应用程序要运行,system 模块必须至少加载。
system - 定义了 October CMS 的核心功能,是一个必需的模块。cms - 引入用于渲染前端网站主题的功能。它负责将请求路由到页面、渲染页面以及处理 AJAX 请求。后端 - 负责显示后端面板页面。editor - 引入一个用户界面,用于在后端面板中编辑 CMS 模板。media - 引入了一个媒体文件管理用户界面在后端面板中. 它允许后端用户上传图像或视频文件等媒体文件并将其包含在其他地方, 例如, 博客文章中.tailor - 介绍 October CMS Tailor 功能。该 themes 目录包含用于前端网站 CMS 主题的子目录。CMS 主题包括用于网站页面,布局,局部视图,资产,以及其他文件的模板文件。活动主题通过使用 cms.active_theme 配置参数进行设置,并可以从后端面板设置页面进行覆盖。
该 vendor 目录包含通过 Composer 引入的软件包。一些插件也可以包含 vendor 目录。系统 vendor 目录优先于插件特定的 vendor 目录。
app 目录包含应用程序特有的文件,包括内容、资产和不属于 传统插件 的业务逻辑。它包含一个由默认配置加载的服务提供者文件。
app/assets 目录包含资产文件,例如 JavaScript、CSS 和图像文件. 此目录应该对网站公开可访问.
app/blueprints 目录包含 [内容蓝图](../cms/tailor/introduction.md) 文件由 Tailor 使用。
你可以在这里创建任何目录,就像插件一样,例如 models 或 controllers。这些将自动加载到 App 命名空间中。例如,文件 app/models/Customer.php 将在 PHP 中作为 App\Models\Customer 可用。