prom-cms/core

PromCMS 核心组件


README

该项目包含 PromCMS 的基本部分。

待办事项

  1. 改进测试
  2. 添加文档(部分完成)
  3. 迁移到 Doctrine
  4. 迁移到 illuminate/database 模型并继续使用 SleekDB 在 Doctrine 中创建 SleekDB 适配器
  5. 改进 twig 渲染
  6. 改进事件
  7. 提供更好的国际化体验
    1. 添加 twig 函数/标签/过滤器
    2. 重新考虑模型中的 intl(这些信息是否应该直接放在模型中?)
  8. 在自定义模型中支持 MySQL
    • 也许可以通过创建添加 SleekDB 作为 db 驱动的包来再次支持 Illuminate/Database

FAQ如何做

在 Twig 中可以访问哪些函数/过滤器/助手等?

我如何访问 PromCMS 提供的服务或其他对象?

服务存储在 PromCMS 通过 PSR 容器(请参阅本节了解更多信息)的 .env 中。实际上,PromCMS 内部通过容器设置这些对象并订阅它们。

让我们看看以下示例代码,可以放置在 <your app root>/src/bootstrap.php

use PromCMS\Core\Config;

return function (App $app) {
  // Access PSR container
  $container = $app->getContainer();
  
  // Now you can access whatever - for example Config! It`s fully "type-safe" ;)
  $config = $container->get(Config::Class);

  // Now you can use it normally (this is boolean which has true if current .env does not have environment specified or has development value)
  echo $config->env->development;
}

PromCMS 公开了哪些服务?

PromCMS 公开了一系列服务和对象,以帮助您创建项目。每个条目都有自己的文档页面(或甚至 PHPDoc),您可以通过点击每个条目来访问

我可以设置哪些可能的 .env 选项,如何访问它们以及它们控制什么?

每个 PromCMS 都应该在 .env 中存储机密。PromCMS 在 PromCMS\Core\Config 中存储已知配置,通过 PSR 容器访问(请参阅本节了解更多信息)。

已知键

APP_ENV

SECURITY_SESSION_LIFETIME

SECURITY_TOKEN_LIFETIME

APP_DEBUG

MAIL_HOST

MAIL_PORT

MAIL_USER

MAIL_PASS

MAIL_ADDRESS

SYSTEM_LOGGING_PATHNAME

描述了 Logger 应该记录的相对路径。

  • 类型: string|null
  • 默认值: null
  • 示例: SYSTEM_LOGGING_PATHNAME="./.temp/app.log"