barrelstrength / craft-master
Requires
- craftcms/cms: ^3.1.0
- vlucas/phpdotenv: ^2.4.0
README
自从创建此仓库以来,许多变化已经发生。将其设置为只读,作为参考,但您可能更倾向于使用更现代的工作流程。
Craft Master
Craft Master 是 Craft CMS 的启动项目。
设置
要创建一个新项目
composer create-project barrelstrength/craft-master <path>
根据需要遵循 Craft CMS 文档的 安装说明。
要使用 Craft Master 设置 Craft CMS 项目
- 将仓库克隆到本地环境
- 复制
.env.example
=>.env
并添加您的ENVIRONMENT
和数据库连接信息 - 复制
config/local/general.example.php
=>config/local/general.php
并根据需要更新
上下文
Craft 提供了一个框架,用于使用环境变量(在基础设施级别)和多环境配置(在应用程序内)来配置跨多个环境的项目。Craft Master 设计为与推荐的 Craft 配置无缝配合,并增加灵活性以支持更广泛的应用程序配置。
Craft Master 以以下方式更新默认的 Craft 启动项目:
- 添加 .editorconfig
- 更新 .gitignore
- 包含
vendor
文件夹 - 排除多个常见的编辑器配置和杂项文件
- 排除在开发和构建脚本中使用的额外项目
- 排除 Craft 的
storage
文件夹(排除storage/rebrand
) - 排除本地配置文件
- 包含
- 更新默认环境约定,假设三个环境:
local
、dev
、production
- 更新
.env
以使用local
作为默认的ENVIRONMENT
变量
- 更新
- 增强应用程序级别配置的支持
- 更新
web/index.php
以包含.multienv.php
并动态设置ENVIRONMENT
和SITE_URL
变量 - 在
config/db.php
中更新.env
设置以使用多环境配置,并在使用应用程序级别配置时回退到默认设置
- 更新
- 更新
config/general.php
以- 动态设置
env
、baseCpUrl
、siteUrl
和@web
别名 - 更新
defaultSearchTermOptions
以允许模糊搜索 - 将
tokenParam
设置为使用t
- 更新
securityKey
以支持.env
或回退到在config/general.php
中定义的值 - 将
userSessionDuration
、rememberedUserSessionDuration
和rememberUsernameDuration
设置为一个月 - 更新
config/general.php
以支持本地覆盖文件config/local/general.php
,该文件可以排除在仓库之外 - 添加默认的
config/local/general.php
,其中包含扩展登录时间和几个开发注意事项
- 动态设置
- 更新默认 Redactor 配置
- 简单 - 加粗-斜体.json
- 内容 - 无标题.json
- 内容 - H2-H3.json
- 通过
templates/503.twig
为离线网站添加用户登录表单 - 添加了
CraftTwigAutoCompleteExtension.php
考虑事项
跟踪存储库中的更改
Craft Master 倾向于将所有项目文件保存在存储库中,并包括 vendor
文件夹以跟踪和部署更改。
动态环境变量
Craft Master 更新了 web/index.php
以包含 config/multienv.php
,这增加了对在 Web 请求中定义 ENVIRONMENT
和 SITE_URL
变量的支持。在 config/general.php
文件中使用 ENVIRONMENT
和 SITE_URL
变量来帮助定义其他几个设置。
网站 URL 和 @web
网站 URL 设置在多个地方使用,可以根据环境在 .env
文件中定义。
作为替代,如果 .env
文件中没有定义网站 URL,Craft Master 将动态设置 SITE_URL
变量。这是通过使用 $_SERVER['HTTP_HOST']
变量来实现的。如果您选择这种方法,请确保您的应用程序使用的是可以信任 $_SERVER['HTTP_HOST']
的环境。如果您不确定,请安全起见,使用 .env
来定义您的网站 URL。
除了这些约定之外,Craft Master 还动态设置 @web
别名,以帮助避免使用默认行为时出现不希望的影响(如缓存中毒)。
数据库
默认的 config/db.php
已更新,以便与 .env
协同工作,这使得在使用推荐的 Craft .env
和替代工作流程时,可以更轻松地使用,而无需多次定义一些变量。
对于本地开发,请在 .env
中定义您的数据库凭据。在其他环境中,您可以选择使用 .env
或多环境应用程序配置。