thowsenmedia / flattery
简单、可扩展的平面文件CMS
0.3.0
2022-09-03 17:05 UTC
Requires
- symfony/console: ^5.3
- symfony/yaml: ^5.3
- thowsenmedia/flattery-core: ~0
Requires (Dev)
- phpunit/phpunit: ^9.5
README
PHP中的另一个平面文件CMS。
请注意,Flattery尚未准备好投入生产。它尚未完善所有功能,并且可能会在任何时候发生重大变化。
快速浏览
Flattery支持以下功能
- 主题
- 插件
- 块(小工具)
- 通过包含的liveeditor插件就地编辑块
- 页面,作为
- .txt文件
- .html文件
- 甚至是.php文件
Flattery将所有数据存储在YAML中。
架构
Flattery创建了一个“CMS”类的单例。它充当以下子系统/类的容器
- 内核
- 数据
- 请求
- 事件
- 主题
- 插件管理器
- 页面管理器
调用flattery()函数返回CMS实例。您可以通过flattery()->data或flattery('data')来获取数据,或者请求对象,同样地,通过flattery()->request或flattery('request')。
除了flattery()函数外,还有针对每个主要单例类的辅助函数,例如data()、event()等。
文件结构
文件结构相当简单
- /app/data包含“数据库”,每个文件夹是一个分类,每个文件是一个“表”,尽管这些术语定义较为宽松。目前不支持子文件夹。
- /app/pages包含页面
- /plugins包含插件
- /themes包含主题
- /vendor是composer依赖项(请参阅getcomposer.org)
- /public是您的Web服务器的默认Web根目录,出于安全考虑。
文件夹结构可以根据您的喜好进行更改,但必须在bootstrap.php中进行更新。
还有一个flattery.php文件,它是控制台。要使用它,请运行php flattery.php
,将有命令用于管理插件、主题等。
许可
请参阅LICENSE.md