barrelstrength/craft-master

此包已被废弃,不再维护。作者建议使用 https://github.com/barrelstrength/demo.projectmothership.com 包代替。

Craft CMS 项目

2.0.3 2019-10-06 23:14 UTC

This package is auto-updated.

Last update: 2023-04-03 00:40:57 UTC


README

No Maintenance Intended

自从创建此仓库以来,许多变化已经发生。将其设置为只读,作为参考,但您可能更倾向于使用更现代的工作流程。

Craft Master

Craft Master 是 Craft CMS 的启动项目。

设置

要创建一个新项目

composer create-project barrelstrength/craft-master <path>

根据需要遵循 Craft CMS 文档的 安装说明

要使用 Craft Master 设置 Craft CMS 项目

  1. 将仓库克隆到本地环境
  2. 复制 .env.example => .env 并添加您的 ENVIRONMENT 和数据库连接信息
  3. 复制 config/local/general.example.php => config/local/general.php 并根据需要更新

上下文

Craft 提供了一个框架,用于使用环境变量(在基础设施级别)和多环境配置(在应用程序内)来配置跨多个环境的项目。Craft Master 设计为与推荐的 Craft 配置无缝配合,并增加灵活性以支持更广泛的应用程序配置。

Craft Master 以以下方式更新默认的 Craft 启动项目:

  • 添加 .editorconfig
  • 更新 .gitignore
    • 包含 vendor 文件夹
    • 排除多个常见的编辑器配置和杂项文件
    • 排除在开发和构建脚本中使用的额外项目
    • 排除 Craft 的 storage 文件夹(排除 storage/rebrand
    • 排除本地配置文件
  • 更新默认环境约定,假设三个环境:localdevproduction
    • 更新 .env 以使用 local 作为默认的 ENVIRONMENT 变量
  • 增强应用程序级别配置的支持
    • 更新 web/index.php 以包含 .multienv.php 并动态设置 ENVIRONMENTSITE_URL 变量
    • config/db.php 中更新 .env 设置以使用多环境配置,并在使用应用程序级别配置时回退到默认设置
  • 更新 config/general.php
    • 动态设置 envbaseCpUrlsiteUrl@web 别名
    • 更新 defaultSearchTermOptions 以允许模糊搜索
    • tokenParam 设置为使用 t
    • 更新 securityKey 以支持 .env 或回退到在 config/general.php 中定义的值
    • userSessionDurationrememberedUserSessionDurationrememberUsernameDuration 设置为一个月
    • 更新 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 请求中定义 ENVIRONMENTSITE_URL 变量的支持。在 config/general.php 文件中使用 ENVIRONMENTSITE_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 或多环境应用程序配置。