czim / laravel-cms-core
Laravel CMS - 核心
Requires
- php: >=7.2
- czim/laravel-dataobject: ~2.0
- laravel/framework: ^7.0
- league/fractal: >=0.13
- myclabs/php-enum: ^1.4
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/database: ^5.0
- orchestra/testbench: ^5.0
- php-coveralls/php-coveralls: ^2.1
- phpunit/phpunit: ^8.0|^9.0
- dev-master
- 3.0.0
- 2.0.0
- 1.8.0
- 1.7.1
- 1.7.0
- 1.6.2
- 1.6.1
- 1.6.0
- 1.5.3
- 1.5.2
- 1.5.1
- 1.5.0
- 1.4.6
- 1.4.5
- 1.4.4
- 1.4.3
- 1.4.2
- 1.4.1
- 1.3.16
- 1.3.15
- 1.3.14
- 1.3.13
- 1.3.12
- 1.3.11
- 1.3.10
- 1.3.9
- 1.3.8
- 1.3.7
- 1.3.6
- 1.3.5
- 1.3.4
- 1.3.3
- 1.3.2
- 1.3.1
- 0.9.7
- 0.9.6
- 0.9.5
- 0.9.4
- 0.9.3
- 0.9.2
- 0.9.1
- dev-version-1.7
- dev-laravel-5.6
- dev-add-missing-list-command-to-config
- dev-laravel-5.5
- dev-laravel-5.4
- dev-laravel-5.3
- dev-laravel-5.2
This package is auto-updated.
Last update: 2021-05-14 11:21:36 UTC
README
弃用警告
警告:我并没有认真更新这个项目。这不会太多地影响核心,但模型模块可能无法在新版的 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的最好方法是上述列出的第一种方法。
参考资料
您可以在以下位置找到更多信息
- 为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)。有关更多信息,请参阅许可文件。