mamuz / mamuz-blog
为ZF2和Doctrine提供博客功能
Requires
- php: >=5.4
- ext-intl: *
- cocur/slugify: ~1.0
- doctrine/doctrine-orm-module: ~0.8
- hashids/hashids: ~1.0.5
- maglnet/magl-markdown: ~1.3
- neilime/zf2-twb-bundle: ~2.4
- zendframework/zend-eventmanager: ~2.3
- zendframework/zend-form: ~2.3
- zendframework/zend-http: ~2.3
- zendframework/zend-i18n: ~2.3
- zendframework/zend-loader: ~2.3
- zendframework/zend-modulemanager: ~2.3
- zendframework/zend-mvc: ~2.3
- zendframework/zend-servicemanager: ~2.3
- zendframework/zend-view: ~2.3
Requires (Dev)
- mamuz/php-dependency-analysis: 0.*
- mockery/mockery: 0.9.*
- phpunit/phpunit: 4.*
- satooshi/php-coveralls: 0.6.*
Suggests
- mamuz/mamuz-blog-feed: To provide rss and/or atom feeds
README
特性
- 本模块基于ZF2和Doctrine2提供博客功能。
- 文章通过Markdown解析器渲染。
- 文章可打标签和搜索。
- 提供文章列表和标签列表。
- 通过加密的标识来保护指向特定文章的链接。
- 链接也以slugified文章标题结束,以符合SEO。
- 链接是永久链接。
- 视图与twitter-Bootstrap兼容。
安装
推荐通过mamuz/mamuz-blog
安装,通过composer添加依赖到你的composer.json
文件中。
{ "require": { "mamuz/mamuz-blog": "*" } }
之后运行composer update
,并将MamuzBlog
添加到./config/application.config.php
文件中的modules
中,以启用此模块。
// ... 'modules' => array( 'MamuzBlog', ),
本模块基于DoctrineORMModule
,请确保你已经配置了数据库连接。
使用DoctrineORMModule
提供的命令行工具创建数据库表。
./vendor/bin/doctrine-module orm:schema-tool:update
配置
为超链接加密文章标识
加密由hashids/hashids
支持,需要通过复制./vendor/mamuz-blog/config/crypt.local.php.dist
到./config/autoload/crypt.local.php
进行配置。确保该文件不在版本控制之下。你需要做的只是将salt
值更改为任何复杂的字符串。
默认配置
除了标识加密的配置,该模块可以直接使用,但你可以通过在./config/autoload
目录中添加配置文件来覆盖默认配置。默认配置请参见module.config.php
。
分页
文章和标签列表包括分页功能,将视图分为默认范围。默认范围可以通过在./config/autoload
目录中添加配置文件来覆盖。
文章
文章列表由路由blogPublishedPosts
提供,默认范围为两个项目。
标签
标签列表由路由blogTags
提供,默认范围为10个项目。
创建新文章
在MamuzBlogPost
仓库中创建实体,并在相关的MamuzBlogTag
中对其进行标记。
计划提供用于此的Admin模块。
工作流程
如果通过发布标志和加密的标识找到特定文章的路由成功,则将文章内容作为新视图模型以Markdown格式响应,否则将向HTTP响应对象设置404状态码。
事件
为了简单起见,使用Event
表示FQN MamuzBlog\EventManager\Event
。
以下事件由Event::IDENTIFIER
mamuz-blog触发
术语
- 文章:关于任何问题的已发布文章,按时间顺序列在博客中。
- 标签:将相关文章分组到特定问题的类别。
- 永久链接:可读且不可更改的指向特定文章或特定标签的文章列表的链接。