czim/laravel-cms-core

此包已被废弃,不再维护。未建议替代包。
关于此包最新版本(3.0.0)没有可用的许可信息。

Laravel CMS - 核心

3.0.0 2020-05-14 09:03 UTC

README

Latest Version on Packagist Software License Build Status Coverage Status

弃用警告

警告:我并没有认真更新这个项目。这不会太多地影响核心,但模型模块可能无法在新版的 Laravel 中正常工作。

这是因为与 Nova、Twill 等竞争没有意义。

  • 尽管如此,我仍然相信这个项目,但并不认为它对整个社区来说足够有吸引力。

那些 CMS 应该继续改进的地方

  • 使它们完全与应用程序逻辑、数据模型解耦(不要扩展 Twill 的 Eloquent 模型扩展!)
  • 允许自由选择你想要的解决方案,例如翻译、缩写、媒体库等。(Twill)
  • 与小的策略类一起工作,而不是仓库与控制器(Twill)
  • 与对象一起工作,而不是数组(看看我自己和 Twill)
  • 快速简单的前端,允许轻松调整(Nova)

Laravel CMS - 核心

所以你在寻找一个 Laravel CMS,...

  • 你不想调整你的应用程序以符合 CMS,
  • 你需要它能处理 可翻译列表化 的 Eloquent 模型,或者有你的自定义特性而没有任何问题,
  • 你想要为客户提供可以随时调整他们古怪偏好的界面,
  • 你想要它既容易在新的应用程序中设置,也容易在老旧的代码库中设置,
  • 你不想被某些标准主题困住,
  • 而且你不想你的 CMS 配置位于你的项目代码库之外。

无需再寻找。这个 CMS 就是考虑到所有这些因素而开发的。

版本兼容性

Laravel
5.3 1.3
5.4 1.4
5.5 1.5
5.6, 5.7 1.6
5.7 1.7
5.8 1.8
6.0 2.0
7.0 3.0

请注意,版本 1.7+ 需要 czim/laravel-dataobject 2.0+。

变更日志

查看变更日志.

框架 CMS

此 CMS 核心概念:它是一个 框架

Laravel 为什么伟大?因为它使用起来 简单,而且它足够 强大灵活,可以让你随心所欲地做任何事情。

框架为开发者提供了一个工具,让他们可以专注于 业务逻辑 而不是枯燥、重复的基础工作。这是一个工具,其价值来自于让程序员可以随心所欲地编写代码和控制。

这个CMS与大多数Laravel CMS相似,它提供了一种方便的方法来快速设置一个用户友好的数据管理工具。它的不同之处在于它完全是一个框架结构:以允许开发者通过编写代码来修改其行为的方式。这个CMS的所有部分都是在假设有人可能想要,并且应该能够改变事物的工作方式的情况下编写的。

它是通过使用Laravel的服务容器、可以配置文件中替换的抽象绑定和可以轻松替换的策略类来实现的。在最高级别,CMS是模块化和基于组件的,这使得添加、删除或分支和替换其任何部分都变得容易。

核心

这是模块化CMS核心,它管理配置、访问和委派模块的基本功能。

核心提供

  • 模块管理,包括基于模块的路由和授权,
  • CMS配置,加载所需的服务提供者,
  • 为CMS创建专用API的基础,
  • 隔离的数据库迁移及其管理命令,
  • 用户通知的基础,
  • 一些基本的调试工具,以帮助分析加载的模块。

注意/免责声明

这个项目目前正在积极开发中,但已准备好投入生产环境。然而,它仅推荐有经验的程序员使用。欢迎提供反馈,如往常一样。

文档

CMS核心不是一个独立的包。要开始使用CMS,需要一些组件和模块。

我从哪里开始?

除了非常基本的设置之外,这个CMS有一些学习曲线。以下是一些推荐的入门方法;选择最适合您需求的方法。

  • 安装一个预配置的带有CMS完全安装的演示Laravel应用程序。如果您只是想看看CMS的基本安装能做什么或者是什么样子,这个展示是一个好开始的地方。只需检查存储库并遵循几个简单的步骤,即可在本地上运行示例。

  • 遵循安装指南的步骤,在您的Laravel应用程序中尝试使用CMS。这可以是全新安装的Laravel副本,也可以是处于任何开发阶段的现有应用程序。这个CMS设计为基本上是一个即插即用解决方案。

  • 探索可用的组件和模块

目前没有在线的公共实时示例。快速查看此CMS的最好方法是上述列出的第一种方法。

参考资料

您可以在以下位置找到更多信息

故障排除

如果您遇到问题,请首先查阅故障排除部分

如果这仍不起作用,发布问题报告将非常感激。

API 文档

您可以在以下位置找到由核心提供的 API 端点文档:czim.github.io/laravel-cms-core

安装

中间件

为了防止与 Apps 中间件冲突,您可以将以下方法添加到您的 App\Http\Kernel 类中

    /**
     * Removes all global middleware registered.
     */
    public function removeGlobalMiddleware()
    {
        $this->middleware = [];
    }

在 CMS 注册时,如果此方法可用,它将自动调用。这可以确保 CMS 和 App 都不会使用冲突的中间件。

如果您没有定义全局中间件,则不需要此方法;分组或路由中间件不受此影响,在任何情况下都不会有问题。

配置

数据库

您可以为数据库设置 driver 和/或 prefix。如果您设置了驱动程序,请确保它在应用程序的 database.php 配置文件中存在。

请注意,如果您设置了一个具有前缀的驱动程序,并且您还添加了 CMS 的 prefix,这些将堆叠。

缓存

如果您想使用 tags 来隔离 CMS 缓存内容,请确保您使用了一个具有标签功能的驱动程序,例如 Redis。

贡献

请参阅 CONTRIBUTING 以获取详细信息。

鸣谢

许可

MIT 许可证(MIT)。有关更多信息,请参阅许可文件