james481 / micro-cms-standard
微CMS / 静态网站 MVC 框架标准应用
Requires
- php: >=5.4
- james481/micro-cms: v0.1.0
This package is not auto-updated.
Last update: 2024-09-24 02:49:17 UTC
README
这是一个轻量级且易于使用的框架,适用于开发类似CMS的小型项目。它旨在快速原型设计基本应用,该应用将来可能扩展到更大的框架(如Symfony)。典型用途是一个初始范围非常有限的项目,但未来计划开发更大、更复杂的应用。
安装
可以使用composer从 james481/micro-cms-standard
包安装框架以及基础应用目录结构
$ composer create-project james481/micro-cms-standard /Path/To/Project v0.1.0
MicroCMS提供以下功能
路由
MicroCMS路由器实现了一组请求匹配器,按顺序检查以匹配请求
-
symfony匹配器 - 如果提供了特定环境的路由文件(通常为
app/config/routing_{env}.yml
),则该文件中指定的任何路由(采用常规symfony方式)将首先匹配。可以通过完全限定类名和操作(\\Namespace\\Pkg\\Class::indexAction
)指定到自定义控制器的路由。 -
模板匹配器 - 应用模板目录(通常为
app/templates
)中任何以.html扩展的Twig模板(其文件名不以_
开头)将自动按名称路由,无论是否有扩展。换句话说,app/templates/foo.html
将通过对/foo
或/foo.html
的请求进行渲染。模板可以嵌套在目录中(/foo/bar
匹配app/templates/foo/bar.html
),并且您可以使用前缀_
为不希望可路由的模板(例如,用于twig模板包含或继承等)。 -
默认匹配器 - 默认匹配器为主页和错误页面提供路由。如果应用模板目录中存在名为
index.html
的文件,则它将作为站点主页渲染(以及/index
和/index.html
)。此外,默认匹配器将为找不到和应用程序错误渲染_404.html
和_500.html
。请注意,_500.html
模板仅在生产环境中使用(其他环境将显示异常/错误的堆栈跟踪)。
DI容器
框架构建了一个symfony DI容器,只要自定义控制器实现了ContainerAwareInterface
,就会自动将其提供给它们。可以通过编辑特定环境的配置文件(通常为app/config/app_{env}.yml
)并指定自定义服务/工厂来自定义容器。
Twig模板化
DI容器包括一个由内核设置的Twig渲染器。
日志记录
内核还构建了一个Monolog日志记录器,它将记录到应用日志目录(通常为app/logs
)中的特定环境日志文件。除了在框架内部使用外,还提供了一个与PSR-3兼容的特质(MicroCMS\DependencyInjection\LogAwareTrait
),供自定义类使用,以便方便地记录。
关于
框架当前版本为0.1.0
。功能上相当完整且经过测试,但未来版本计划进行主要添加。
该框架采用 PSR-2 编码规范实现,并遵循 PSR-4 命名空间标准。
文档
框架包含所有源文件的 PHPDocumentor 兼容注释。API 文档不包括在此包中,但可以使用标准方式使用 phpdoc
构建。
$ cd /Path/To/MicroCMS
$ phpdoc -d ./src -t ./docs
测试
该框架包含针对 PHPunit 测试框架的单元测试,可以通过以下方式运行:
$ cd /Path/To/MicroCMS
$ composer install
$ phpunit
待办事项
版本 0.2.0
将包含:
-
为应用程序提供更广泛的框架行为配置
-
基本内容存储以及注入到渲染的模板中
作者
詹姆斯·沃茨 - jamescwatts@gmail.com
许可
MicroCMS 采用 MIT 许可证授权 - 有关详细信息,请参阅 LICENSE
文件。